Counter는 Python의 collections 모듈에서 제공하는 특수한 딕셔너리 형태로, 해시 가능한(hashable) 객체를 카운팅 하는데 사용됩니다. 각 객체를 키(key)로 하고, 그 객체의 개수를 값(value)으로 저장합니다. 이는 데이터의 개수를 셀 때 매우 유용하며, 일단 딕셔너리와 비슷한 인터페이스를 가지고 있지만, 카운팅과 관련된 추가적인 기능들을 제공합니다.
주요 특징
- 해시 가능한 객체의 개수를 세어서 저장
- 각 객체는 딕셔너리의 키로 저장되며, 해당 객체의 개수는 딕셔너리의 값으로 저장
- 객체의 개수가 0이 되거나 음수가 되더라도 자동으로 Counter에서 제거되지 않음
기본 사용법
from collections import Counter
# 리스트의 요소를 카운팅
cnt = Counter(['red', 'blue', 'red', 'green', 'blue', 'blue'])
# 요소의 개수 출력
print(cnt) # Counter({'blue': 3, 'red': 2, 'green': 1})
# 특정 요소의 개수 조회
print(cnt['blue']) # 3
print(cnt['yellow']) # 0, 존재하지 않는 요소의 개수는 0으로 반환됨
# 요소의 개수 업데이트
cnt.update(['blue', 'yellow', 'yellow'])
print(cnt) # Counter({'blue': 4, 'yellow': 2, 'red': 2, 'green': 1})
- 주요 메서드
- elements() : 카운트된 요소들을 반복자(iterator) 형태로 반환. 개수가 1 이상인 요소만 반환
- most_common(n) : 가장 빈도가 높은 상위 n개의 요소와 그 개수를 리스트 형태로 반환. n이 지정되지 않으면 모든 요소를 빈도순으로 반환
- subtract(iterable or mapping) : 다른 Counter 객체나 반복 가능한 객체에서 요소의 개수를 빼줌
- 주의 사항
- Couter 객체는 딕셔너리의 모든 메서드를 사용할 수 있음. 그러나 Counter에 특화된 메서드를 사용하는 것이 더욱 효율적인 경우가 많음
- Counter 객체끼리 덧셈, 뺄셈, 교집합, 합집합과 같은 연산이 가능. 이를 통해 두 데이터 집단간의 차이나 공통 요소를 쉽게 찾아 낼 수 있음
4-11. Counter
## Counter란 `Counter`는 Python의 `collections` 모듈에서 제공하는 특수한 딕셔너리 형태로, 해시 가능한(hashable) 객체를 카운팅하는데 사용…
wikidocs.net
'프로그래밍 > Coding' 카테고리의 다른 글
| [기초문법] zip()의 활용 (feat. 행렬 전치) (0) | 2026.01.19 |
|---|---|
| [기초문법] 우선순위큐 (feat. heap) (0) | 2026.01.18 |
| [기초문법] sys.stdin ; 3 method ; in python (1) | 2026.01.12 |
| [기초문법] sys.stdin.readline (feat. input()) (0) | 2025.12.29 |
| [자료구조] 깊이우선탐색(DFS) vs 너비우선탐색(BFS) (0) | 2025.02.02 |