myset = set()
mysetset()
| 분류 | 타입 | 특징 | 예시 |
|---|---|---|---|
| 시퀀스(sequence) | 리스트(list) | 순서가 있고, 가변(mutable) | [1, 2, 3] |
| 시퀀스(sequence) | 튜플(tuple) | 순서가 있고, 불변(immutable) | (1, 2, 3) |
| 세트(set) | 세트(set) | 순서가 없고, 중복을 허용하지 않음 | {1, 2, 3} |
| 맵(map) | 딕셔너리(dictionary) | 순서가 없고, key/value 쌍으로 이루어짐 | {‘a’: 1, ‘b’: 2, ‘c’: 3} |
myset = set()
mysetset()
myset = set([1, 1, 1, 2, 2, 2, 3, 3, 3])
myset{1, 2, 3}
myset = set((1, 1, 1, 2, 3, 3, 4, 5, 5, 5))
myset{1, 2, 3, 4, 5}
myset = {1, 1, 1, 2, 2, 2, 3, 3, 3}
myset{1, 2, 3}
빈 set를 생성합니다.
myset = set()add() 로 요소를 추가합니다.
myset.add(1)
myset.add(2)
myset.add(3)
myset.add(1)
myset.add(2)
myset.add(3)
myset.add(1)
myset.add(2)
myset.add(3)요소를 중복하여 추가하였지만, 중복을 허용하지 않는 set의 특성상 {1, 2, 3} 으로 중복이 제거된 요소만 출력됩니다.
myset{1, 2, 3}
myset = {1, 2, 3}list의 요소들을 한꺼번에 update
myset.update([4, 5, 6])
myset{1, 2, 3, 4, 5, 6}
tuple의 요소들을 한꺼번에 update
myset.update((7, 8, 9))
myset{1, 2, 3, 4, 5, 6, 7, 8, 9}
set의 요소들을 한꺼번에 update
myset.update({10, 11, 12})
myset{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
myset = {1, 2, 3, 4, 5}myset.remove(2)
myset{1, 3, 4, 5}
& 기호나 intersection() 메서드를 활용하여 교집합을 구할 수 있습니다.a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}a & b{3, 4, 5}
a.intersection(b){3, 4, 5}
|기호나 union() 메서드를 활용하여 합집합을 구할 수 있습니다.a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}a | b{1, 2, 3, 4, 5, 6, 7}
a.union(b){1, 2, 3, 4, 5, 6, 7}
-연산자를 활용하거나 difference() 메서드를 활용하여 구할 수 있습니다.a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}a 집합에서 b 집합을 뺀 차집합
a - b{1, 2}
a.difference(b){1, 2}
b 집합에서 a 집합을 뺀 차집합
b - a{6, 7}
b.difference(a){6, 7}
a = {1, 2, 3, 4, 5}type(a)set
b = list(a)b[1, 2, 3, 4, 5]
type(b)list
a = [1, 1, 1, 2, 2, 2, 3, 3, 3]a[1, 1, 1, 2, 2, 2, 3, 3, 3]
type(a)list
b = set(a)b{1, 2, 3}
type(b)set
b를 다시 list 자료형으로 변환
b = list(b)
b[1, 2, 3]
dict로 표시 됩니다.mydict = dict()
print(type(mydict))
mydict<class 'dict'>
{}
mydict = {'a': 1, 'b': 2, 'c': 3}
print(type(mydict))
mydict<class 'dict'>
{'a': 1, 'b': 2, 'c': 3}
딕셔너리는 여러 타입의 key를 가질 수 있습니다.
mydict = {'a': 1, '가':2, 100: 3, 3.14: 4, True: 5}
mydict{'a': 1, '가': 2, 100: 3, 3.14: 4, True: 5}
mydict = {'a': 1, '가':2, 100: 3, 3.14: 4, True: 5}
mydict{'a': 1, '가': 2, 100: 3, 3.14: 4, True: 5}
key를 지정하여 값을 조회할 수 있습니다.
mydict['a']1
key가 없는 경우 Error가 발생합니다.
mydict['b']--------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-50-a8dfdc4bddd9> in <module> ----> 1 mydict['b'] KeyError: 'b'
get() 메서드를 활용하여 값을 조회할 수 있습니다.
mydict.get('a')1
get()을 사용하면 key가 없는 경우라도 Error가 발생하지 않습니다. 단지 None이 반환됩니다.
mydict.get('b')mydict = {'a': 100, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
mydict{'a': 100, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
mydict.keys()dict_keys(['a', 'b', 'c', 'd', 'e'])
[참고] dict_keys
dict_keys는 리스트(list)가 아닙니다.list(mydict.keys())['a', 'b', 'c', 'd', 'e']
mydict.values()dict_values([100, 200, 300, 400, 500])
mydict.items()dict_items([('a', 100), ('b', 200), ('c', 300), ('d', 400), ('e', 500)])
list(mydict.items())[('a', 100), ('b', 200), ('c', 300), ('d', 400), ('e', 500)]
'a' in mydictTrue
'f' in mydictFalse
mydict = dict()
mydict{}
mydict['apple'] = 123
mydict['apple']123
mydict[0] = 2
mydict[0]2
mydict = {'파인애플': 1500, '망고': 3500, '배': 1000}
mydict{'파인애플': 1500, '망고': 3500, '배': 1000}
fruit = {
'사과': 2000,
'딸기': 3000,
'수박': 5000,
}mydict.update(fruit)
mydict{'파인애플': 1500, '망고': 3500, '배': 1000, '사과': 2000, '딸기': 3000, '수박': 5000}
mydict = {'a': 100, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
mydict{'a': 100, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
mydict['a'] = 900mydict{'a': 900, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
mydict = {'a': 100, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
mydict{'a': 100, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
del 값을 제거할 수 있습니다.
del에 딕셔너리 key를 지정합니다.
del mydict['a']mydict{'b': 200, 'c': 300, 'd': 400, 'e': 500}
pop() 에 key를 지정하여 값을 제거할 수 있습니다.
제거되는 값의 value를 반환합니다.
mydict.pop('b')200
mydict{'c': 300, 'd': 400, 'e': 500}
len(mydict)3
mydict = {'a': 100, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
mydict{'a': 100, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
mydict.clear()mydict{}