在 Python 中获取元组列表中具有最大值的第一个元素
pythonserver side programmingprogramming
我们有一个元组列表。我们需要找出其中具有最大值的元组。但如果多个元组具有相同的值,我们需要第一个具有最大值的元组。
使用 itemgetter 和 max
使用 itemgetter(1),我们从索引位置 1 获取所有值,然后应用 max 函数来获取具有最大值的项目。但如果返回的结果不止一个,我们应用索引零来获取第一个包含最大元素的元组。
示例
from operator import itemgetter # 初始化列表 listA = [('Mon', 3), ('Tue', 20), ('Wed', 9)] # 给定列表 print(" 给定列表:\n" ,listA) # 使用 max() 和 itemgetter() res = max(listA, key=itemgetter(1))[0] # 打印结果 print("Day with maximum score is : \n",res)
输出
运行上述代码得到以下结果 −
给定列表: [('Mon', 3), ('Tue', 20), ('Wed', 9)] Day with maximum score is : Tue
使用 max 和 lambda
我们使用 lambda 函数获取索引位置 1 处的元素,然后应用 max 函数。然后我们应用索引位置 0 来获取多个匹配项中的第一个,以获得最终结果。
示例
# 初始化列表 listA = [('Mon', 3), ('Tue', 20), ('Wed', 9)] # 给定列表 print("给定列表:\n" ,listA) # 使用 max() 和 lambda res = max(listA, key = lambda i : i[1])[0] # 打印结果 print("Day with maximum score is : \n",res)
输出
运行上述代码得到以下结果 −
给定列表: [('Mon', 3), ('Tue', 20), ('Wed', 9)] Day with maximum score is : Tue
使用 sorted
在此方法中,我们在应用 lambda 函数时使用 sorted 函数,并将反向等于 true 条件。
示例
# 初始化列表 listA = [('Mon', 3), ('Tue', 20), ('Wed', 9)] # 给定列表 print("给定列表:\n" ,listA) # 使用 sorted() 和 lambda res = sorted(listA, key = lambda i: i[1], reverse = True)[0][0] # 打印结果 print("Day with maximum score is : \n",res)
输出
运行上述代码得到以下结果 −
给定列表: [('Mon', 3), ('Tue', 20), ('Wed', 9)] Day with maximum score is : Tue