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
广告