Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 튜플 목록에서 최대값을 가진 첫 번째 요소 가져오기

<시간/>

튜플 목록이 있습니다. 우리는 그 튜플에서 최대값을 찾아야 합니다. 그러나 둘 이상의 튜플이 동일한 값을 갖는 경우 최대 값을 갖는 첫 번째 튜플이 필요합니다.

itemgetter 및 max 사용

itemgetter(1)를 사용하여 인덱스 위치 1에서 모든 값을 가져온 다음 max 함수를 적용하여 최대 값을 가진 항목을 가져옵니다. 그러나 둘 이상의 결과가 반환되는 경우 인덱스 0을 적용하여 최대 요소가 포함된 첫 번째 튜플을 가져옵니다.

예시

from operator import itemgetter
# initializing list
listA = [('Mon', 3), ('Tue', 20), ('Wed', 9)]
# Given list
print("Given list : \n" ,listA)
# using max() and itemgetter()
res = max(listA, key=itemgetter(1))[0]
# printing result
print("Day with maximum score is : \n",res)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given list :
[('Mon', 3), ('Tue', 20), ('Wed', 9)]
Day with maximum score is :
Tue

최대 및 람다 사용

람다 함수를 사용하여 인덱스 위치 1에 있는 요소를 가져온 다음 max 함수를 적용합니다. 그런 다음 인덱스 위치 0을 적용하여 여러 일치 항목 중 첫 번째 항목을 가져와 최종 결과를 얻습니다.

예시

# initializing list
listA = [('Mon', 3), ('Tue', 20), ('Wed', 9)]
# Given list
print("Given list : \n" ,listA)
# using max() and lambda
res = max(listA, key = lambda i : i[1])[0]
# printing result
print("Day with maximum score is : \n",res)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given list :
[('Mon', 3), ('Tue', 20), ('Wed', 9)]
Day with maximum score is :
Tue

정렬됨

이 접근 방식에서 우리는 람다 함수를 적용할 때 true와 반대 조건으로 정렬된 함수를 사용합니다.

예시

# initializing list
listA = [('Mon', 3), ('Tue', 20), ('Wed', 9)]
# Given list
print("Given list : \n" ,listA)
# using sorted() and lambda
res = sorted(listA, key = lambda i: i[1], reverse = True)[0][0]
# printing result
print("Day with maximum score is : \n",res)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given list :
[('Mon', 3), ('Tue', 20), ('Wed', 9)]
Day with maximum score is :
Tue