더북(TheBook)

따라서 간단한 타입의 값이 들어 있는 딕셔너리의 경우 get 메서드를 사용하는 방법이 가장 코드가 짧고 깔끔하다.

Note ≡

이 예제처럼 카운터로 이뤄진 딕셔너리를 유지해야 하는 경우에는 collections 내장 모듈에 있는 Counter 클래스를 고려해보라. Counter는 카운터를 쓸 때 필요한 대부분의 기능을 제공한다.

딕셔너리에 저장된 값이 리스트처럼 더 복잡한 값이라면 어떻게 해야 할까? 예를 들어 득표수만 세는 것이 아니라 어떤 사람이 어떤 유형의 빵에 투표했는지도 알고 싶다. 이런 경우에는 각 키마다 이름이 들어 있는 리스트를 연관시킬 수 있다.

votes = {
    '바게트': ['철수', '순이'],
    '치아바타': ['하니', '유리'],
}
key = '브리오슈'
who = '단이'

if key in votes:
    names = votes[key]
else:
    votes[key] = names = []
    
names.append(who)
print(votes)

>>>
{'바게트': ['철수', '순이'], '치아바타': ['하니', '유리'], '브리오슈': ['단이']}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.