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

Python에서 튜플 리스트의 최댓값 요소 찾기 – max()와 itemgetter 활용법

튜플로 구성된 리스트(튜플 리스트)에서 최댓값 요소를 찾아야 할 때, Python의 max 메서드와 operator.itemgetter를 함께 사용하면 간단하게 해결할 수 있습니다.

itemgetter는 피연산자(여기서는 각 튜플)에서 특정 위치의 항목을 가져오는 역할을 하며, max 메서드는 인수로 전달된 반복 가능한(iterable) 객체 안에서 최댓값을 가지는 요소를 반환합니다.

이 두 가지를 조합하면 튜플의 특정 인덱스 값을 기준으로 최댓값을 가지는 요소를 손쉽게 찾을 수 있습니다.

예제 코드

from operator import itemgetter

my_list = [('Will', 23), ('Jane', 21), ('El', 24), ('Min', 101)]

print("리스트 내용 : ")
print(my_list)

my_result = max(my_list, key = itemgetter(1))[0]

print("최댓값을 가진 이름 : ")
print(my_result)

실행 결과

리스트 내용 :
[('Will', 23), ('Jane', 21), ('El', 24), ('Min', 101)]
최댓값을 가진 이름 :
Min

코드 설명

  • operator 모듈에서 itemgetter를 임포트하여 사용할 준비를 합니다.
  • 이름과 숫자로 이루어진 튜플 리스트를 정의한 뒤, 콘솔에 출력합니다.
  • max 메서드가 리스트를 순회하며, key 인자에 itemgetter(1)를 지정해 각 튜플의 두 번째 요소(인덱스 1, 즉 숫자 값)를 비교 기준으로 삼습니다.
  • 그 결과 최댓값을 가지는 튜플 ('Min', 101)이 선택되고, 뒤에 붙은 [0] 인덱싱을 통해 해당 튜플의 첫 번째 요소인 이름만 추출됩니다.
  • 최종 결과는 변수에 저장된 후 콘솔에 출력됩니다.

이처럼 maxitemgetter를 조합하면 별도의 반복문 없이 한 줄의 코드로 튜플 리스트에서 원하는 기준의 최댓값 요소를 깔끔하게 찾을 수 있습니다.