Python 中獲取元組列表中最大值對應的第一個元素
我們有一個元組列表。我們需要找出其中值最大的那個元組。但如果多個元組具有相同的值,我們需要第一個具有最大值的元組。
使用 itemgetter 和 max
使用 itemgetter(1) 獲取索引位置 1 的所有值,然後應用 max 函式獲取具有最大值的項。但如果返回多個結果,則應用索引零以獲取具有最大元素的第一個元組。
示例
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
使用 max 和 lambda
我們使用 lambda 函式獲取索引位置 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
使用 sorted
在這種方法中,我們使用 sorted 函式,並在應用 lambda 函式時將 reversed 設定為 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
廣告