더북(TheBook)

투표가 일어날 때 카운터를 증가시키려면 먼저 키가 딕셔너리에 존재하는지 살펴봐야 한다. 키가 없으면 디폴트 카운터 값인 0을 딕셔너리에 넣고 그 카운터를 증가시킨다. 이렇게 처리하려면 딕셔너리에서 키를 두 번 읽고, 키에 대한 값을 한 번 대입해야 한다. 다음은 if 문과 키가 존재할 때 참을 반환하는 in을 사용해 이런 처리를 하는 코드다.

key = '밀'
if key in counters:
    count = counters[key]
else:
    count = 0
    
counters[key] = count + 1

같은 동작을 달성하는 다른 방법도 있다. 존재하지 않는 키에 접근할 때 발생시키는 KeyError 예외를 활용하는 방법이다. 키를 한 번만 읽고, 값을 한 번만 대입하면 되므로 더 효율적이다.

try:
    count = counters[key]
except KeyError:
    count = 0
    
counters[key] = count + 1
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.