2023-08-16 22:17:10

리스트에 어떤 요소들이 중복해서 존재하는데 그 중복된 횟수를 알고 싶은 경우가 있다면, collections 모듈의 Counter를 사용할 수 있습니다. 물론 반복문을 사용해서 구현을 할 수도 있겠지만, 잘 만들어놓은 것이 있다면 그것을 사용하는 것이 좋습니다.

 

Don't reinvent the wheel.

 

리스트 요소 중복 횟수 카운트하는 방법

from collections import Counter


x = [1, 1, 1, 2, 2, 1, 4, 3, 4, 3, 2, 6, 5]

counter = Counter(x)
print(counter)  # Counter({1: 4, 2: 3, 4: 2, 3: 2, 6: 1, 5: 1})
print(type(counter))  # <class 'collections.Counter'>
print(dict(counter))  # {1: 4, 2: 3, 4: 2, 3: 2, 6: 1, 5: 1}

 

counter() 함수의 반환값은 collections.Counter 클래스의 객체가 되는데 저는 보통 딕셔너리로 변환해서 사용합니다.