假设我有一个如下列表: -
L=[[1,2.5],[2,5.2],[3,0.5],[4,2.7]]
我想找到L [i] [1]的最大值L [i] [0]。在这种情况下,我想返回2,因为5.2是最高的。
我把函数编写为:=
a=max(L,key=lambda x:L[x][1])
这显示错误“列表索引必须是整数,而不是列表”
如何解决?
答案 0 :(得分:2)
import operator
In [23]: L=[[1,2.5],[2,5.2],[3,0.5],[4,2.7]]
In [24]: max(L, key=operator.itemgetter(1))[0] # equivalently, key=lambda s:s[1]
Out[24]: 2
答案 1 :(得分:0)
max
采用key
参数:
>>> max(L, key=lambda x: x[1])[0]
2
x
依次是列表中的每个元素,因此要根据元组x
的第二个元素进行比较,您需要将其作为x[1]
索引一次。