[Python] Counter(): 데이터의 개수를 알기

ㅎㅎ·2024년 3월 18일
0

Python

목록 보기
1/2
post-thumbnail

Counter()

데이터의 개수를 셀 때 매우 유용한 파이썬의 collections 모듈의 Counter 클래스로, 중복된 데이터가 저장된 배열을 인자로 넘기면 각 원소가 몇 번씩 나오는지가 저장된 객체를 얻게 된다.

>>> from collections import Counter

>>> Counter(['red', 'blue', 'red', 'green', 'blue', 'blue'])
Counter({'blue': 3, 'red': 2, 'green': 1})

>>> counter = Counter("hello world")
>>> counter 
Counter({'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1})

# 개수 반환
>>> counter["o"], counter["l"]
(2, 3)

# 가장 개수가 많은 2개의 데이터 반환
>>> counter.most_common(2)
[('l', 3), ('o', 2)]

연산 별 시간 복잡도

  • 생성 시 O(n)
  • most_common: 내부적으로 heap을 사용한다.
    • n개를 전부 출력 시 O(nlogn)
    • k개 출력 시 O(nlogk)
    • 1개 출력 시 O(1)
profile
Backend

0개의 댓글