python으로 해쉬 알고리즘 문제를 풀다보면 딕셔너리를 사용하게 된다.
python colletions에서 제공하는 defaultdict 클래스를 사용하면 모든 키값에 대해 기본값을 설정해줄 수 있다.
1. 일반적인 딕셔너리 기본값 처리
def countLetters(word):
counter = {}
for w in word:
if w not in counter:
counter[w] = 0
counter[w] += 1
return counter
2. dict.setdefault 기본값 처리
if절을 쓰지 않고, python의 dict 자료구조에서 제공하는 setdefault를 사용해서 기본값을 처리해줄 수 있다.
더보기
dict.setdefault(key [, default])
- key 가 딕셔너리에 있으면 해당 값을 돌려줍니다.
- 그렇지 않으면, default 값을 갖는 key 를 삽입한 후 default 를 돌려줍니다.
- default 의 기본값은 None 입니다.
def countLetters(word):
counter = {}
for w in word:
counter.setdefault(w, 0)
counter[w] += 1
return counter
3. colletions.defaultdict 기본값 처리
더보기
collections.defaultdict(default_factory=None, /[, ...])
- 첫 번째 인자로 int, list, set 등을 넘겨주면, 모든 키에 대해 해당 기본값으로 설정해준다.
from collections import defaultdict
def countLetters(word):
counter = defaultdict(int)
for w in word:
counter[w] += 1
return counter
'Language > python' 카테고리의 다른 글
| [python] set hashable (0) | 2023.06.23 |
|---|---|
| [python] 소수점 n번째 자리까지 0으로 채우기 (0) | 2023.01.06 |