Python 자료구조 Set, Dictionary

13837 단어 pythonpython

1. Set

여러타입의 element를 저장할 수 있지만
동일한 요소가 1개이상 존재할 수 없는 자료구조입니디.

순서대로 저장되어있지 않아 indexing이 존재하지 않고, 그렇기에 for문에서 읽어들일 때 무작위 순서로 나옵니다.

문법

중괄호{}를 사용합니다.

set1 = {10, 20, 30, 30}
print(set1)     # {10, 20, 30}


set2 = set([10, 20, 30, 30])
print(set2)     # {10, 20, 30}

Set에 요소 추가

my_set = {10, 20, 30}
my_set.add(40)

print(my_set)    # {10, 20, 30, 40}

Set에 요소 삭제

my_set = {10, 20, 30}
my_set.remove(10)

print(my_set)    # {20, 30}

Intersection(교집합)

& 혹은 intersection 함수를 사용합니다.

set1 = {3, 4, 9, 1, 4, 2, 5, 6, 7, 8, 10}
set2 = {5, 6, 7, 8, 9, 10}

print(set1 & set2)
print(set1.intersection(set2))

# output
{5, 6, 7, 8, 9, 10}

Union(차집합)

| 혹은 union 함수를 사용합니다.

set1 = {3, 4, 9, 1, 4, 2, 5, 6, 7, 8, 10}
set2 = {5, 6, 7, 8, 9, 10}

print(set1 | set2)
print(set1.union(set2))

# output
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

2. Dictionary

'key'와 'value'를 한 세트로 묶을 수 있는 자료구조입니다.

아래 코드는 단순히 list로 나열해 저장한 값들입니다. '고양이'와 '코리안숏헤어'를 한 세트로, '노트북'과 '맥북'을 한 세트로, '핸드폰'과 '아이폰'을 한 세트로 묶을 수 있다면 더 효율적으로 저장할 수 있겠죠?

my_list = ["고양이", "코리안숏헤어", "노트북", "맥북", "핸드폰", "아이폰"]

문법

중괄호 {}를 이용해 dictionary를 선언합니다.
{"key" : "value"}로 구성되어있고, 각 세트는 comma로 구분합니다.
key는 String타입 뿐만 아니라 Interger타입도 가능합니다.

my_dict = {"고양이" : "코리안숏헤어", "노트북" : "맥북", "핸드폰" : "아이폰"}

문법_주의사항

이미 존재하는 key에 value값이 추가가 되면 후자의 value값의 요소로 치환합니다.

my_dict = { 1 : "one", 1 : "two"}

print(my_dict)

# { 1 : "two" }

Dictionary에 요소 찾기

Dictionary에서 요소를 읽어들이기 위해서는 key값을 사용합니다.

my_dict = {"고양이" : "코리안숏헤어", "노트북" : "맥북", "핸드폰" : "아이폰"}

my_dict["고양이"] # "코리안숏헤어"

Dictionary에 요소 추가

예시1
my_dict[ "newKey" ] = "newValue" 를 입력해 요소를 추가합니다.

my_dict["책"] = "점프 투 파이썬"

print(my_dict)
{"고양이" : "코리안숏헤어", "노트북" : "맥북", "핸드폰" : "아이폰", "책" : "점프 투 파이선"}

예시2
처음부터 비어있는 dictionary를 만든 후 하나씩 추가할 수 있습니다.

my_dict = {}
my_dict[Key] = Value
my_dict[Key2] = Value2

print(my_dict)

# output
{ "Key" : "Value", "Key" : "Value2"}

Dictionary에 요소 수정

key값을 사용해 요소를 수정합니다.

my_dict = {"고양이" : "코리안숏헤어", "노트북" : "맥북", "핸드폰" : "아이폰", "책" : "점프 투 파이선"}
my_dict["핸드폰"] = "아이폰12proMax"

print(my_dict)

# output
{"고양이": "코리안숏헤어", "노트북": "맥북", "핸드폰": "아이폰12proMax"}

Dictionary에 요소 삭제

key값을 이용해 value값을 삭제합니다.

my_dict = {"고양이" : "코리안숏헤어", "노트북" : "맥북", "핸드폰" : "아이폰"}
del my_dict["노트북"]

# {'고양이': '코리안숏헤어', '핸드폰': '아이폰'}

좋은 웹페이지 즐겨찾기