
defaultdict
Python의 collections 모듈에서 제공하는 특별한 딕셔너리 서브클래스,
키가 존재하지 않을 때 자동으로 기본값을 생성해주는 유용한 자료구조
기본 타입
- int: 기본값 0
- list: 기본값 빈 리스트 []
- set: 기본값 빈 집합 set()
- dict: 기본값 빈 딕셔너리 {}
- str: 기본값 빈 문자열 ''
사용자 정의 함수
- 호출 시 원하는 기본값을 반환하는 함수를 전달 가능
- 람다 함수도 사용 가능
사용 예시
python
from collections import defaultdict
@@@ int 타입 기본값
- dd_int = defaultdict(int)
- dd_int['key'] # 0으로 자동 초기화
@@@ list 타입 기본값
dd_list = defaultdict(list)
dd_list['key'].append(1) # 빈 리스트에 요소 추가 가능
주의사항
- 전달되는 인자는 반드시 호출 가능한(callable) 객체여야.
- 키에 접근할 때마다 기본값이 자동으로 생성되므로 의도치 않은 키 추가에 주의해야.
- defaultdict는 코드를 간결하게 만들고, 키 존재 여부를 매번 확인하지 않아도 되는 장점이 있음