在 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

相关文章