딕셔너리의 어떤 키에 접근하거나 삭제할 때 그 키가 딕셔너리에 없을 수 있음
키가 없으면 디폴트 카운터 값인 None
을 딕셔너리에 넣고 그 카운터를 증가시킴
→ KeyError 예외를 활용해도 같은 동작 달성 가능
counters = {
'pumpernickel': 2,
'sourdough': 1,
}
key = 'brioche'
# 디폴트 카운터 값인 0 활용
if key in counters:
count = counters[key]
else:
count = 0
counters[key] = count + 1
print(counters)
key = 'wheat'
# KeyError 사용
try:
count = counters[key]
except KeyError:
count = 0
counters[key] = count + 1
print(counters)
>> {'pumpernickel': 2, 'sourdough': 1, 'brioche': 1}
{'pumpernickel': 2, 'sourdough': 1, 'brioche': 1, 'wheat': 1}
위처럼 키가 존재하면 그 값을 가져오고 존재하지 않으면 디폴트 값을 반환하는 경우 많음
이럴 때 dict 내장 타입에 get 메서드 사용하면 됨
key = 'multigrain'
count = counters.get(key, 0)
counters[key] = count + 1
print(counters)