-4
我有如下图所示它有两个值 (名称,编号)的列表:获得最大的价值
lst = [['ABC', 1.4976557902646848], ['LMN', 1.946130694688788], ['QRS', 3.0039607941124085]]
我想获得的最大数量的在这个名字值名单。在这个例子中它将是'QRS'
我有如下图所示它有两个值 (名称,编号)的列表:获得最大的价值
lst = [['ABC', 1.4976557902646848], ['LMN', 1.946130694688788], ['QRS', 3.0039607941124085]]
我想获得的最大数量的在这个名字值名单。在这个例子中它将是'QRS'
使用max
内置函数与key
kwarg。有关更多详细信息,请参阅docs的max
。
它将返回具有最大数量的子列表,我们从中获取第一个元素(“名称”)。
li = [['ABC', 1.4976557902646848], ['LMN', 1.946130694688788], ['QRS', 3.0039607941124085]]
print(max(li, key=lambda x: x[1])[0])
# QRS
可以使用itemgetter
而不是定义拉姆达:
from operator import itemgetter
li = [['ABC', 1.4976557902646848], ['LMN', 1.946130694688788], ['QRS', 3.0039607941124085]]
print(max(li, key=itemgetter(1))[0])
# QRS
不要命名您的列表'list'。它将覆盖内置类型。 – Li357
http://stackoverflow.com/questions/13039192/max-second-element-in-tuples-python可能会更接近愚蠢。 – TigerhawkT3