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