TIL15 | Python Set과 Dictionary
2021. 10. 11. 10:42ㆍ언어/Python
반응형
Set
list
의 친척느낌list
와 다르게 요소들이 순서대로 저장되어 있지 않다. (Ordering 이 없다)for
문에서 읽어들일 때 요소들이 무작위로 나온다.- 순서가 없으므로
indexing
도 없다. 몇번째 요소를 읽어들일 수 없다.
- 중복된 값을 저장할 수 없다.
- 만일 동일한 요소를 저장하려 한다면 이전 요소를 치환(replace)한다.
Set 생성
중괄호 { }
를 사용하는 방법과 set()
함수를 사용하는 방법이 있다.
set1 = {1, 2, 3}
set2 = set([1, 2, 3])
Set 요소 추가
add()
함수를 사용해서 새로운 요소를 추가한다.
my_set = {1, 2, 3}
my_set.add(4)
print(my_set)
> {1, 2, 3, 4}
Set 요소 삭제
remove()
함수를 사용해서 삭제한다.
my_set = {1, 2, 3}
my_set.remove(3)
print(my_set)
> {1, 2}
Set 요소 찾기(look up)
set
에 어떠한 값이 이미 포함되어 있는지를 알아보는 것을 look up이라고 한다.
look up을 하기 위해서는 in
키워드를 사용한다.
my_set = {1, 2, 3}
if 1 in my_set:
print("1 is in the set")
> 1 is in the set
if 4 not in my_set:
print("4 is not in the set")
> 4 is not in the set
Set 교집합(Intersection) & 합집합(Union)
set
은 교집합과 합집합을 구할 때도 사용될 수 있다.
- 교집합은
&
키워드 또는intersection()
함수를 사용한다. - 합집합은
|
키워드 또는union()
함수를 사용한다.
set1 = {1, 2, 3, 4, 5, 6}
set2 = {4, 5, 6, 7, 8, 9}
# 교집합
print(set1 & set2)
print(set1.intersection(set2))
> {4, 5, 6}
# 합집합
print(set1 | set2)
print(set1.union(set2))
> {1, 2, 3, 4, 5, 6, 7, 8, 9}
Dictionary
- 키(key)와 값(Value)의 쌍을 데이터로 가지는 자료형이다.
key
값은 string뿐만 아니라 숫자도 가능하다.key
값은 중복될 수 없다.- 이미 존재하는
key
값이 또 추가되면 기존의key
값의 요소를 치환(replace)한다
my_dic = { "key1" : "value1", "key2" : "value2"}
Dictionary 요소 읽기
key
값을 사용해서 element를 읽을 수 있다.
my_dic['key1']
Dictionary 요소 추가
dictionary_name[new_key] = new_value
# 예시
my_dic['key3'] = 'value3'
Dictionary 요소 수정
key
값을 사용해서 요소를 수정한다.
my_dic['key1'] = 'new value'
print(my_dic)
> { "key1" : "new value", "key2" : "value2"}
Dictionary 요소 삭제
key
값을 사용해서 요소를 삭제한다.
del my_dic['key1']
print(my_dic)
> {"key2" : "value2"}
Set 과 Dictionary의 차이
set
은key
값만 존재하지만,dictionary
는key
와vaule
값이 존재한다.
set
은 수정 가능한 mutable(가변성) 리스트
dictionary
는key
값은 immutable(불변성) 형식이고value
값은 mutable(가변성) 형식도 가능하다.공통점
set
은 순서가 없는 중복 불가한 collection 자료형이다.dictionary
를 구현한 클래스가set
이므로dictionary
또한 중복이 불가능한 collection 자료형이다.
반응형
'언어 > Python' 카테고리의 다른 글
TIL19 | Python 가상환경(Miniconda) (1) | 2021.10.14 |
---|---|
TIL16 | Python Modules & Packages, 절대경로와 상대경로 (0) | 2021.10.11 |
TIL14 | Python List와 Tuple (0) | 2021.10.11 |
TIL13 | Python Function - Arguments position (0) | 2021.10.10 |
TIL12 | Python Function Parameters (0) | 2021.10.10 |