파이썬(Python)/문법

collections.defaultdict 이란

끄적끄적아무거나 2020. 11. 25. 08:16
반응형

딕셔너리는 존재하지 않는 키 값을 출력 할 경우 아래 코드 처럼 에러가 발생 한다. 

 

이러한 에러를 없애기 위해 try 문을 사용한다. 

import collections
a_var = {"k_1":"v_1","k_2":"v_2","k_3":"v_3","k_4":"v_4"}
try:
    print(a_var["k_5"])
except:
    print("에러발생")

결과>>

에러발생

 

 

defaultdict 객체는 위의 딕셔너리 문제를 쉽게 해결해 준다. 

 

defaultdict에 인자 값은 int, list, set 을 받을 수 있다.

 

아래 코드 처럼 키의 value 값은 default로 int 0이 자동으로 들어 간다. 그리고 인자를 int로 사용했을 경우에도 다른 값 (여기서는 string) 을 선언해서 사용할 수 있다.

 

일반적인 dictionary와 다른 점은 존재하지 않는 키 값을 사용할 경우 인자에 따라 0, [], set() 값이 들어감을 알 수 있다.

 

import collections
a_var = collections.defaultdict(int)
a_var["k_1"] = "v_1"
a_var["k_2"] = "v_2"
a_var["k_3"] = "v_3"
a_var["k_4"] = "v_4"

print(a_var["k_1"])
try:
    print(a_var["k_5"])
except:
    print("에러발생")

print(a_var)

결과>>

v_1
0
defaultdict(<class 'int'>, {'k_1': 'v_1', 'k_2': 'v_2', 'k_3': 'v_3', 'k_4': 'v_4', 'k_5': 0})

 

활용은 엑셀 문서 만들때 해당 키 값이 없어도 비교 분석할때 같은 경우에 유용하게 사용할 수 있다. 

 

 

 

 

 

반응형

'파이썬(Python) > 문법' 카테고리의 다른 글

파이썬 replace, strip 함수란  (0) 2020.11.27
continue, break, pass 차이  (0) 2020.11.26
별표하나 별표두개 (*arg, **kwarg)  (0) 2020.11.24
파이썬 변수는 객체이다  (0) 2020.11.23
locals(), globals()  (0) 2020.11.23