如何找到列表列表的最大元素?

时间:2014-12-22 12:11:38

标签: python-2.7

假设我有一个如下列表: -

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])

这显示错误“列表索引必须是整数,而不是列表”

如何解决?

2 个答案:

答案 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]索引一次。