딕셔너리를 만드는 dict 클래스의 서브 클래스
동작하는 방식 딕셔너리랑 거의 같음.
다른 점은 처음 초기화 할때 딕셔너리의 value들을 기본 값으로 설정 할 수 있다.
보통 딕셔너리를 하나 만들고 딕셔너리 안에 없는 키 값을 사용한다고 생각해보자
>>> d ={}
>>> d['key']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'key'
이렇게 하면 KerError가 난다.
defaultdict을 사용하면 이러한 에러가 나지 않는다.
# 함수 불러오기
>>> from collections import defaultdict
# 함수 선언 (선언 할때 기본 자료형을 매개변수로 넣음)
>>> d = defaultdict(int)
>>> d
defaultdict(<class 'int'>, {})
# 애러가 나지 않고 자동으로 key1 에 0이 들어감
>>> d['key1']
0
>>> d
defaultdict(<class 'int'>, {'key1': 0})