본문 바로가기

코딩언어지식/Python

defaultdict와 dict의 차이점은?

참고 블로그:

https://emilkwak.github.io/defaultdict-rather-than-dict

 

Python 딕셔너리(dict) 대신 쓰는 디폴트딕트(defaultdict)

Python, Pandas를 Excel보다 사랑하는 직장인을 위한 블로그

emilkwak.github.io

 

코딩을 하다가 문득 그런 생각이 들었다.

"왜 bfs를 위해 그래프를 생성할 때는 dict가 아닌 defaultdict를 사용하지?"

궁금증을 해결하기 위해 블로그를 검색해보았다.

 

그냥 딕셔너리는 처음에 딕셔너리에 없는 키를 생성하려면

dictionary = dict()

if ?? not in dictionary:

   dictionary[??] = ...

 

이런식으로 if문으로 선언줘야만 한다.

 

하지만 defaultdict를 쓰면, 처음에 키 값이 딕셔너리에 없어도 append를 활용해서 쉽게 추가할 수 있기 때문에 이러한 경우 defaultdict를 쓰게된다.

 

(defaultdict는 처음에 빈 리스트의 dictionary를 제공한다고 한다.)