1. 사전을 이용하라
각 항목이 주어진 Python 목록에 목록으로 나타나는 횟수를 얻는 방법.
my_list = (1, 2, 3, 2, 1, 1, 4, 5, 4, 2)
# 딕셔너리를 활용하여 각 원소의 등장 횟수를 세기
count_dict = {}
for elem in my_list:
if elem in count_dict:
count_dict(elem) += 1
else:
count_dict(elem) = 1
# 딕셔너리를 리스트로 변환하여 출력
count_list = ()
for key, value in count_dict.items():
count_list.append((key, value))
print(count_list)
위의 코드를 실행하면 다음과 같은 결과가 나타납니다.
((1, 3), (2, 3), (3, 1), (4, 2), (5, 1))
이 목록에서 (1, 3)은 항목 1이 세 번 발생한 것을 의미하고 (2, 3)은 항목 2가 세 번 발생한 것을 의미합니다. 따라서 이 목록을 읽으면 각 요소의 발생 횟수를 확인할 수 있습니다.
2. 카운터 사용
목록 항목의 발생 횟수를 계산하는 또 다른 방법은 컬렉션 모듈의 Counter 클래스를 사용하는 것입니다. Counter 클래스는 리스트, 문자열과 같은 시퀀스 데이터 유형의 요소의 발생 횟수를 쉽게 셀 수 있도록 해주는 클래스입니다.
from collections import Counter
my_list = (1, 2, 3, 2, 1, 1, 4, 5, 4, 2)
count_list = Counter(my_list).most_common()
print(count_list)
위의 코드를 실행하면 사전 대신 목록이 반환되며 목록의 각 요소는 튜플로 구성됩니다. 이 시점에서 목록은 요소가 가장 많이 발생하는 순서대로 정렬되어 반환됩니다. 따라서 most_common() 메서드를 사용하여 가장 일반적인 요소부터 첫 번째 요소까지 순서대로 목록을 검사할 수 있습니다.
위의 코드를 실행하면 다음과 같은 결과가 나타납니다.
((1, 3), (2, 3), (4, 2), (3, 1), (5, 1))
이 목록에서 (1, 3)은 항목 1이 세 번 발생한 것을 의미하고 (2, 3)은 항목 2가 세 번 발생한 것을 의미합니다. 목록을 읽으면 각 항목이 몇 번 발생했는지 알 수 있습니다.