如何比较列表中的列表并选择具有最大值的列表?

时间:2017-05-23 21:10:35

标签: python list

我们说我有一个清单:

def returnBiggestStartingList:

   L1 = [ [1,2,3,4], [5,6,7,8], [7,8,9,10] ]

我想返回L1中的一个列表。我想要返回的是第0个元素最大的那个。例如,在上面的示例中,我想返回L1 [2],因为它的第一个元素高于所有其他数组的第一个元素(7大于1和5)。

我还需要考虑一个或多个列表中第0个元素是否相同,如果是这种情况我将移动到第二个元素并比较它们(依此类推)

任何人都知道我该怎么做?

2 个答案:

答案 0 :(得分:6)

您所描述的是列表的自然顺序。因此,您可以直接使用max,如果所有列表具有相同的大小(当列表具有不同的长度时,则更简单) 如果列表较短,它会将较低的列表与具有相同的第一个元素ex [7,8,9] < [7,8,9,10]的较长列表进行比较,这也应该可以满足您的需求)

L1 = [ [1,2,3,4], [5,6,7,8], [7,8,9,11], [7,8,9,10] ]

print(max(L1))

结果:

[7, 8, 9, 11]

答案 1 :(得分:0)

你可以试试这个:

 def returnBiggestStartingList(L1):

     return [i for i in L1 if i[0] == max(zip(*L1)[0])][0]