[Python] 딕셔너리 key값에 value값 정의하고 수정하기_(2)

도갱도갱·2021년 12월 1일
0

Python

목록 보기
4/34
post-thumbnail

존재하지 않는 key값에 접근하여 수정하는 경우 KeyError가 발생한다.

mDict = {'key':'value'}
mDict['key2']
# KeyError!

존재하지 않는 key값에 접근할 때 에러없이 자동생성하는 방법

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)

자동생성 할 vaule값 지정

empty list 외에도 int, lambda 등이 가능하다

dict1 = defaultdict(int)        # 0으로 생성
dict2 = difaultdict(lambda: 0)  # 람다함수 사용 가능

0개의 댓글