Python컬렉션과 문자열

collections.Counter 기본

원소 빈도를 세고 가장 자주 나온 값을 뽑아낼 때 유용한 Python `collections.Counter` 기본 패턴입니다.

마지막 수정 2026년 3월 19일

기본 패턴

python
from collections import Counter

letters = ["a", "b", "a", "c", "a", "b"]
counts = Counter(letters)

설명

  • Counter는 "어떤 값이 몇 번 나왔는가"를 세는 작업을 매우 간단하게 만들어 줍니다.
  • 문자열, 리스트, 튜플처럼 반복 가능한 자료를 바로 넣어 빈도를 계산할 수 있습니다.
  • most_common()을 쓰면 가장 자주 나온 항목을 바로 확인할 수 있습니다.
  • 빈도 분석, 로그 요약, 투표 집계 같은 작업에서 반복문보다 훨씬 간결합니다.

짧은 예제

python
from collections import Counter

text = "banana"
counts = Counter(text)
print(counts.most_common(2))  # [('a', 3), ('n', 2)]

빠른 정리

기능의미
Counter(data)빈도 계산
counts["a"]특정 값 개수
most_common(n)많이 나온 순서로 확인
빈도 분석반복문보다 간결

공식 참고: collections — Container datatypes

주의할 점

Counter는 집계에 매우 편하지만, 결과가 곧바로 일반 딕셔너리 순서 개념과 같다고 생각하면 안 됩니다. 필요하면 most_common()처럼 의도가 드러나는 API를 쓰는 편이 좋습니다.