【问题标题】:Get max value in a two value list Python [duplicate]在两个值列表Python中获取最大值[重复]
【发布时间】:2017-02-27 13:55:14
【问题描述】:

我有一个包含两个值的列表 (姓名、号码)如下图:

lst = [['ABC', 1.4976557902646848], ['LMN', 1.946130694688788], ['QRS', 3.0039607941124085]]

我想得到这个列表中最大数的名称值。在本例中,它将是“QRS”

【问题讨论】:

标签: python


【解决方案1】:

max 内置函数与key kwarg 一起使用。详情请参考maxdocs

它将返回具有最大数量的子列表,我们从中获取第一个元素(“名称”)。

li = [['ABC', 1.4976557902646848], ['LMN', 1.946130694688788], ['QRS', 3.0039607941124085]]

print(max(li, key=lambda x: x[1])[0])
# QRS

您可以使用itemgetter 而不是定义 lambda:

from operator import itemgetter

li = [['ABC', 1.4976557902646848], ['LMN', 1.946130694688788], ['QRS', 3.0039607941124085]]

print(max(li, key=itemgetter(1))[0])
# QRS

【讨论】:

    猜你喜欢
    • 2019-03-25
    • 2018-11-15
    • 2023-03-30
    • 2021-02-24
    • 1970-01-01
    • 2022-07-23
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    相关资源
    最近更新 更多