본문 바로가기
성장하기/Python

Counter

by 솔로 슈퍼스타 2023. 6. 14.
728x90

Python의 Counter는 컨테이너에 있는 요소들의 개수를 셀 때 사용하는 딕셔너리의 서브클래스입니다. Counter는 collections 모듈에 포함되어 있으며, 리스트, 문자열, 튜플 등과 같은 iterable 객체를 입력으로 받아 각 요소의 개수를 세는 기능을 제공합니다.

Counter 객체를 생성하려면 iterable 객체를 인자로 전달하면 됩니다. 예를 들어, 다음과 같이 사용할 수 있습니다.

 

from collections import Counter

# 리스트를 입력으로 받아 Counter 객체 생성
lst = [1, 2, 3, 2, 1, 3, 3, 4, 5, 4, 4]
counter = Counter(lst)

print(counter)
# 출력: Counter({3: 3, 4: 3, 1: 2, 2: 2, 5: 1})

위 예시에서 lst는 리스트이며, Counter(lst)를 호출하여 counter라는 Counter 객체를 생성하였습니다. counter 객체는 리스트 lst의 요소들과 그에 해당하는 개수를 딕셔너리 형태로 저장합니다. 출력 결과를 보면, 각 요소들과 그에 해당하는 개수가 표시되는 것을 확인할 수 있습니다.

Counter 객체는 딕셔너리의 기능을 모두 갖고 있습니다. 따라서, 특정 요소의 개수를 확인하거나, 요소의 개수를 증가시키거나 감소시킬 수도 있습니다.

 

# 요소의 개수 확인
print(counter[3])  # 출력: 3

# 요소의 개수 증가
counter[4] += 1
print(counter)  # 출력: Counter({4: 4, 3: 3, 1: 2, 2: 2, 5: 1})

# 요소의 개수 감소
counter[2] -= 1
print(counter)  # 출력: Counter({4: 4, 3: 3, 1: 2, 2: 1, 5: 1})


Counter 객체는 다양한 유용한 메서드들을 제공합니다. 몇 가지 예시를 들면 다음과 같습니다.

elements(): Counter 객체에 포함된 요소들을 반복 가능한 객체로 반환합니다.
most_common([n]): Counter 객체에 포함된 요소들을 개수가 많은 순서대로 반환합니다. n을 지정하면 가장 많은 n개의 요소를 반환합니다.
subtract([iterable-or-mapping]): Counter 객체에서 다른 iterable 객체나 매핑 객체에 포함된 요소들을 뺍니다.
그 외에도 update(), clear(), copy() 등 다양한 메서드가 있습니다.
Counter는 데이터 분석, 통계, 문서 처리 등 다양한 분야에서 유용하게 활용될 수 있는 파이썬의 강력한 도구입니다.

 

[참조]

https://chat.openai.com/

'성장하기 > Python' 카테고리의 다른 글

any  (0) 2023.06.14
append() 와 extend() 의 차이  (0) 2023.06.14
deque  (0) 2023.06.14
zip  (0) 2023.06.14
reduce  (0) 2023.06.14