이와 연관된 주제로서, 항목을 삽입할 때뿐만 아니라 어떤 방식으로든 조회할 때 키가 없으면
어떻게 처리하는지를 다음 절에서 알아보자.
3
.
5
존재하지 않는 키의 자동 처리
때로는 존재하지 않는 키를 검색했을 때 어떤 특별한 값을 반환하는 매핑이 있으면 편리하다.
이런 딕셔너리를 만드는 방법은 크게 두 가지다. 하나는 평범한
dict
대신
defaultdict
를 사
용하는 방법이고, 다른 하나는
dict
등의 매핑형을 상속해서
__missing__()
메서드를 추가
하는 방법이다. 이 두 방법은 다음 각 절에서 설명한다.
3
.
5
.
1
defaultdict
: 존재하지 않는 키에 대한 또 다른 대책
collections.defaultdict
객체는
d[k]
구문으로 존재하지 않는 키를 검색할 때 기본값이
있는 항목을 생성한다. [예제
3
-
6
]은
defaultdict
를 이용해 [예제
3
-
5
]의 워드 색인 문제를
멋지게 해결하는 또 다른 방법을 보여 준다.
작동하는 방식은 다음과 같다.
defaultdict
객체를 생성할 때, 존재하지 않는 키 인수로
__
getitem__()
메서드를 호출할 때마다 기본값을 생성하는 데 사용되는 콜러블을 제공한다.
예를 들어
dd = defaultdict(list)
코드로 기본
defaultdict ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.