1편 에 이어서.
3. 매핑 타입
사전 Dictionary
{ key : value }
key와 value가 하나의 항목을 이룬다.
key는 일종의 index로 생각하면 이해하기 쉽다.
- 사전의 항목들이 순서를 가지지 않는다. 그러므로 당연히도 정렬이 불가.
- 키 값은 고유한 값. 하나의 사전 객체 내에서 동일한 키 값이 존재할 수 없다.
- 키는 immutable 객체여야한다. 키 값이 수정되면 중복될 가능성이 있을 수 있기 때문.
- 연산
mydict = {'a':10,'b':20}
print(mydict['a']) # 키 값을 이용해 접근
-> 10
mydict['c'] = 30 # 키 값이 c 인 새로운 항목 생성
-
update(key,value) - index를 이용한 연산과 같은 기능을 함.
-
setdefault(key,value) - 사전에 key가 있다면 key에 해당하는 value 반환, 없다면 key:value로 항목 생성.
-
key 존재 여부 확인 - in, not in 연산을 통해서 확인한다.
for mykey in x:
if mykey not in dict_test:
print('error')
4. 셋 타입
- 사전과 마찬가지로 항목 간에 순서가 없으며 중복을 허용하지 않는다.
- 마찬가지로 immutable 객체만이 항목이 될 수 있다.
- 연산
>>> A = {1,2,3,4,5}
>>> B = {4,5,6,7,8,9}
>>> A|B # 합집합
set([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> A&B # 교집합
set([4, 5])
>>> A-B # 차집합
set([1, 2, 3])
>>> B-A
set([8, 9, 6, 7])
>>> A^B # 교집합의 여집합
set([1, 2, 3, 6, 7, 8, 9])
- 추가 - add() 메소드를 이용해서 추가.
- 삭제 - remove() -> 인자의 값이 항목에 없다면 에러발생. discard() -> 없어도 에러 발생 안함.
Comments