반응형
딕셔너리는 존재하지 않는 키 값을 출력 할 경우 아래 코드 처럼 에러가 발생 한다.
이러한 에러를 없애기 위해 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 |