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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP