Remarks
이 글은 전문가를 위한 파이썬(Fluent Python)을 정리한 자료입니다.
3. 딕셔너리와 집합
3.1 일반적인 매핑형
MutableMapping -> Mapping -> Container
Mapping -> Iterable
Mapping -> Sized
Hashable
수명 주기 동안 결코 변하지 않는 해시값을 갖고 있고(__hash__()
필요) 다른 객체와 비교할 수 있으면(__eq__()
필요), 객체를 해시 가능하다고 한다.
- tuple은 항목들이 모두 해시 가능해야 해시 가능
- 기본적으로 객체의 해시값은 id()
를 이용해서 구하므로 모든 객체가 서로 다르다.
3.3 공통적인 매핑 메서드
3.3.1 존재하지 않는 키를 setdefault()
로 처리하기
1
2
3
4
dic = dict('a'=[1, 2], 'b'=[3, 4])
dic.setdefault('c', [])
# dic: {'a': [1, 2], 'b': [3, 4], 'c': []}
PREVIOUSEtc