count() vs collections.Counter

Jeonghwan Yoon·2025년 3월 30일

개념 비교

항목count()collections.Counter
기본 용도특정 값 1개의 등장 횟수 확인모든 값의 빈도수를 딕셔너리 형태로 계산
반환값정수(int)딕셔너리(dict) 형태의 객체
자료형문자열, 리스트 등 반복 가능한 객체문자열, 리스트 등 반복 가능한 객체
속도특정 값 1개만 셀 때 빠름전체 값의 빈도 분석에 유리

사용법

count() – 특정 값만 세기

s = "banana"
s.count('a')     # 3

collections.Counter – 전체 빈도수 분석

from collections import Counter

s = "banana"
Counter(s)
# 출력: Counter({'a': 3, 'n': 2, 'b': 1})

리스트 예시

lst = [1, 2, 2, 3, 1, 1, 2]

# count()
lst.count(2)     # 3

# Counter
from collections import Counter
Counter(lst)
# 출력: Counter({1: 3, 2: 3, 3: 1})

주요 차이 요약

비교 항목count()Counter()
특정 값만 확인OO
전체 빈도 분석XO
반환 형태정수 (int)딕셔너리 유사 객체
활용 예시'a' 가 몇 번 나왔는지전체 알파벳/숫자의 등장 횟수

Counter 응용 팁

# 가장 많이 등장한 요소 n개 구하기
Counter("banana").most_common(1)
# 결과: [('a', 3)]
# 딕셔너리처럼 사용
c = Counter("banana")
c['a']     # 3
c['z']     # 0 (없는 값도 기본 0 반환)

핵심 요약

  • count(): 특정 원소의 개수만 셀 때 간편하게 사용
  • Counter: 모든 원소의 빈도수를 한 번에 분석할 때 유리
  • 문자열, 리스트, 튜플 등 반복 가능한 자료형 모두 사용 가능
profile
안녕하세요.

0개의 댓글