在两个值列表Python中获取最大值

时间:2017-02-27 13:55:14

标签: python

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

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

我想获取此列表中最大数字的名称值。在这个例子中,它将是'QRS'

1 个答案:

答案 0 :(得分:1)

max内置函数与key kwarg一起使用。有关详细信息,请参阅max的{​​{3}}。

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

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