투표가 일어날 때 카운터를 증가시키려면 먼저 키가 딕셔너리에 존재하는지 살펴봐야 한다. 키가 없으면 디폴트 카운터 값인 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
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.