Python에서 리스트에 특정 객체가 몇 번 등장하는지 세고 싶다면, 리스트 클래스의 count() 함수를 사용하면 됩니다. 다만 이 방법은 단 하나의 객체에 대한 개수만 필요할 때 적합합니다. 호출된 리스트 안에서 인자로 전달한 객체가 총 몇 번 나타나는지 반환합니다.
예제
>>> ["red", "blue", "red", "red", "blue"].count("red")
3만약 리스트에 있는 모든 객체의 개수를 한 번에 구하고 싶다면, collections 모듈의 Counter 클래스를 사용하는 것이 훨씬 효율적입니다. Counter는 주어진 리스트에 포함된 모든 객체의 빈도수를 계산하여, 객체를 키(key)로 하고 해당 개수를 값(value)으로 하는 딕셔너리 형태의 결과를 반환합니다.
예제
from collections import Counter my_list = ["red", "blue", "red", "red", "blue"] print(Counter(my_list))
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Counter({'red': 3, 'blue': 2})정리
- 특정 객체 하나의 개수만 필요할 때 →
list.count(obj) - 리스트 내 모든 객체의 빈도수를 한꺼번에 확인할 때 →
collections.Counter