我们说我有一个清单:
def returnBiggestStartingList:
L1 = [ [1,2,3,4], [5,6,7,8], [7,8,9,10] ]
我想返回L1中的一个列表。我想要返回的是第0个元素最大的那个。例如,在上面的示例中,我想返回L1 [2],因为它的第一个元素高于所有其他数组的第一个元素(7大于1和5)。
我还需要考虑一个或多个列表中第0个元素是否相同,如果是这种情况我将移动到第二个元素并比较它们(依此类推)
任何人都知道我该怎么做?
答案 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]