[python] defaultdict에 대해서 (dictionary 초기화)

JunYoung7·2022년 5월 12일
0

파이썬에서 dictionary를 사용할 때,
존재하지 않는 key에 대해 접근하게 되는 경우 발생하는 오류를 막기위해 dictionary를 초기화 해주어야 한다.

나는 보통 이런 방법으로 초기화를 진행했었는데,


a = dict()

for key in keys:
	a[key] = a.get(key, 초기화값)

setdefault를 이용한 방법도 있다.

a = dict()

for key in keys:
	a.setdefault(key,초기화값)

여기서 defaultdict을 이용하는 방법도 있는데, 이 defaultdict을 이용하면
훨씬 간단하게 초기화를 진행할 수 있다는 사실을 깨닫게 되었다.
defaultdict은 collections 모듈로부터 import하여 사용 가능하다.

from collections import defaultdict

a = defaultdict(int) # 0
b = defaultdict(list) # []
c = defaultdict(lambda : 1 ) # 1
d = defaultdict(lambda : [1, []] ) # [1, []]

이와 같이 활용할 수 있다.
특히 마지막 줄처럼, lambda 표현식을 이용하여 본인이 원하는 형태로 초기 값을 지정해줄 수 있어 편리하게 사용 가능할 것 같다.

profile
JunYoung7의 프로그래밍 발자취

0개의 댓글

관련 채용 정보