[모듈] Counter

LeeJE20·2021년 5월 12일
0

파이썬 공부

목록 보기
1/2

Counter

import

from collections import Counter

Counter(list) : 리스트 내의 원소 별 개수 세기

리턴: 카운터 객체 (딕셔러니처럼 사용)

시간복잡도: O(n)O(n)

리스트의 각 원소가 몇 개씩 나오는지 카운트

nums = [5, 5, 5, 4, 4, 3]
count = Counter(nums)   # nums에서 각 개체가 몇 번 나오는지 카운트
# Counter({5: 3, 4: 2, 3: 1})
Counter({5: 3, 4: 2, 3: 1})

list[n] : 특정 원소의 개수

딕셔너리처럼 사용

list[원소] → 원소의 개수 리턴

count_five = count[5] # 3
3

list.most_common(n = 2) : 빈도 수 높은 순서대로

리턴: 빈도 수 높은 것들 순서쌍

시간복잡도:

  • n개를 전부 출력하면 O(nlogn)O(nlogn),

  • k개 출력하면 O(nlogk)O(nlogk)

  • 1개 출력하면 O(1)O(1)

  • 참고: 내부적으로 heap 사용

count.most_common: 리스트 [(5, 3), (4, 2)]

count.most_common[0]: 튜플 (5, 3)

count.most_common[0][1]: 원소 3

most_common_two = count.most_common(n = 2) # [(5, 3), (4, 2)]
[(5, 3), (4, 2)]

0개의 댓글