이번에는 리스트를 구성하는 값(item)을 카운트하고, 그 중에서 가장 중복이 많은 값을 찾는 방법을 알아보겠습니다.
아래의 샘플 리스트를 볼까요?
# 1. 샘플 리스트 만들기
sample_li = ['사과', '배', '수박', '딸기', '배', '배', '사과']
여러 개의 중복값들을 확인할 수 있습니다.
이 값들을 보기 좋게 item별로 카운트해 보고 싶을 때 collections 라이브러리의 Counter를 사용합니다.
# 라이브러리 불러오기
from collections import Counter
# 2. item별 카운트하기
count_items = Counter(sample_li)
print(count_items)
>> Counter({'배': 3, '사과': 2, '수박': 1, '딸기': 1})
이제 가장 중복이 높은 값만 가져와 보겠습니다.
# 3. 가장 수가 많은 item 찾기
max_item = count_items.most_common(n=1)
print(max_item)
>> [('배', 3)]
# 4. TOP 2
top_2_items = count_items.most_common(n=2)
print(top_2_items)
>> [('배', 3), ('사과', 2)]
위와 같이, n=2일 경우 가장 카운트 수가 많은 item, 그 다음으로 수가 많은 item 두 개를 반환합니다.
'Python > Data Structure' 카테고리의 다른 글
[Python] 하나의 리스트를 index에 따라 쪼개기 (0) | 2021.08.26 |
---|---|
[Python] 리스트 안의 이스케이프 문자 일괄 소거하기 (0) | 2021.08.20 |
[Python]리스트 문자열 값들 합치기 (0) | 2021.03.16 |
[Python] 리스트 두 개로 dict 만들기 (0) | 2021.03.04 |
[Python] 리스트 안에서 순열(permutation)과 조합(combination) 활용하기 (0) | 2021.02.25 |