Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 튜플 리스트의 고유 키 개수 계산하기

튜플로 구성된 리스트에서 각 값(키)이 몇 번 등장하는지, 즉 고유 키의 개수를 구해야 하는 경우가 있습니다. 이때는 리스트를 반복(iteration)하면서 각 요소의 등장 횟수를 하나씩 세어 가면 됩니다.

구현 방법

파이썬의 collections 모듈에서 제공하는 defaultdict를 활용하면 별도의 초기화 없이도 손쉽게 카운트를 누적할 수 있습니다.

예제 코드

import collections
my_result = collections.defaultdict(int)

my_list = [[('Hello', 'Hey')], [('Jane', 'Will')], [('William', 'John')], [('Hello', 'Hey')], [('z', 'q')]]
print("The list of list is :")
print(my_list)
for elem in my_list:
    my_result[elem[0]] += 1
print("The result is : ")
print(my_result)

출력 결과

The list of list is :
[[('Hello', 'Hey')], [('Jane', 'Will')], [('William', 'John')], [('Hello', 'Hey')], [('z', 'q')]]
The result is :
defaultdict(<class 'int'>, {('Hello', 'Hey'): 2, ('Jane', 'Will'): 1, ('William', 'John'): 1, ('z', 'q'): 1})

코드 설명

  • 카운팅에 필요한 collections 모듈을 임포트하고, 기본값이 정수 0인 defaultdict 객체를 생성합니다.

  • 문자열과 문자를 담고 있는 튜플들의 중첩 리스트를 정의합니다.

  • 정의된 리스트를 콘솔에 그대로 출력하여 확인합니다.

  • 리스트를 반복하면서 각 항목의 첫 번째 요소(튜플)를 키로 사용해 해당 값이 나타날 때마다 1씩 증가시킵니다.

  • 동일한 튜플 ('Hello', 'Hey')는 두 번 등장했기 때문에 최종 결과에서 카운트가 2로 집계되며, 이 결과 딕셔너리가 콘솔에 출력됩니다.