Computer/Programming
Python defaultdict 조심할 것
holycall
2021. 8. 10. 11:11
python defaultdict는 key가 있는지 확인하는 if문을 사용하지 않기 때문에 편리하다. 그런데 key를 access 하면 자동으로 그 key가 생기기 때문에 조심스럽게 사용해야 한다.
from collections import defaultdict
dd = defaultdict(list)
dd[1].append(1)
dd[2].append(1)
dd[3].append(2)
dd[1].append(1)
dd
Out[21]: defaultdict(list, {1: [1, 1], 2: [1], 3: [2]})
check_key = [1,2,3,4]
for k in check_key:
if k in dd:
print(k, dd[k])
1 [1, 1]
2 [1]
3 [2]
dd
Out[24]: defaultdict(list, {1: [1, 1], 2: [1], 3: [2]})
for k in check_key:
print(k, dd[k])
1 [1, 1]
2 [1]
3 [2]
4 []
dd
Out[26]: defaultdict(list, {1: [1, 1], 2: [1], 3: [2], 4: []})
존재 하지 않는 key에 대한 access를 시도하게 되면 default 값이 들어가 버린다.