Algorithm

python3) defaultdict

주코식딩 2022. 5. 13. 14:09

python의 딕셔너리는 다음 코드에서 Keyerror가 난다. 

 

strs = ["eat","tea","tan","ate","nat","bat"]

ans = {}

for i in strs:
    ans["".join(sorted(i))].append(i)

print(list(ans.values()))

 

ans에 key가 없을 때는 값을 추가할 수 없다는 에러가 난다.

그렇다고 몇의 공간이 필요한지, 어떤 키를 사용 해야 하는지 모르는 상황에서 key를 미리 할당할 수 도 없는 노릇이다.

 

그래서 사용해야 하는 것이 defaultdict 다.

기본 라이브러리인 from collections import defaultdict 로 사용할 수 있으며 다음과 같이 사용하면 된다.

strs = ["eat","tea","tan","ate","nat","bat"]

ans = defaultdict(list)

for i in strs:
    ans["".join(sorted(i))].append(i)

print(list(ans.values()))

 

'Algorithm' 카테고리의 다른 글

LeetCode) Reverse Linked List II  (0) 2022.05.16
백준) 괄호  (0) 2022.05.15
LeetCode) 21. Merge Two Sorted Lists  (0) 2022.05.14
LeetCode) 배열 파티션  (0) 2022.05.13
LeetCode) 가장 긴 팰린드롬 부분 문자열  (0) 2022.05.13