더북(TheBook)

사전과 다른 점은 나타난 적이 없는 원소에 접근해도 Counter는 예외를 일으키지 않는다. 대신 0을 반환한다.

>>> count['d']

0

연습문제 10-6is_anagramCounter를 사용해 재작성할 수 있다.

def is_anagram(word1, word2):

return Counter(word1) == Counter(word2)

두 단어가 애너그램이라면 두 단어는 같은 문자와 같은 횟수를 담고 있는 것이므로 두 Counter도 같게 된다.

Counter는 집합과 비슷한 연산자와 메서드를 제공한다. 여기에는 덧셈, 뺄셈, 합집합, 교집합 등의 연산도 포함되어 있다. 또한, 종종 유용하게 쓰이는 most_common 메서드는 값-빈도 쌍을 가장 자주 나오는 순서로 정렬한 리스트를 반환한다.

>>> count = Counter('parrot')

>>> for val, freq in count.most_common(3):

... print(val, freq)

r 2

p 1

a 1

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.