-
Python defaultdict 조심할 것Computer/Programming 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 값이 들어가 버린다.