3. 딕셔너리와 집합

 

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': []}