我有一个包含两个值的列表 (姓名,号码)如下所示:
lst = [['ABC', 1.4976557902646848], ['LMN', 1.946130694688788], ['QRS', 3.0039607941124085]]
我想获取此列表中最大数字的名称值。在这个例子中,它将是'QRS'
答案 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