KeyError
가 발생한다.mDict = {'key':'value'}
mDict['key2']
# KeyError!
collections 모듈의 defaultdict 클래스로 존재하지 않는 key에 접근해도 KeyError 발생없이 value값을 자동으로 생성하도록 설정할 수 있다.
defaultdict 생성자는 딕셔너리 자료를 정의할 때, 특정 key 값이 존재하지 않으면 자동으로 defaultdict의 생성자 인자로 value값을 설정해 준다.
from collections import defaultdict
# 존재하지 않는 key값에 접근하면 해당 key값에 해당하는 value를 empty list로 생성
dict1 = defaultdict(list)
dict1['key1']
#결과 [] (empty list)
empty list 외에도 int, lambda 등이 가능하다
dict1 = defaultdict(int) # 0으로 생성
dict2 = difaultdict(lambda: 0) # 람다함수 사용 가능