Python 如何比较列表中的列表并选择第一个值最大的列表?

Python 如何比较列表中的列表并选择第一个值最大的列表?,python,list,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个元素在一个或多个列表中是否相同,如果是这种情况,我将转到第二个元素并比较它们(以此类推) 有人知道我怎么做吗?你所描述的是列表的自然顺序。因

假设我有一个列表:

def returnBiggestStartingList:

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

我还需要说明第0个元素在一个或多个列表中是否相同,如果是这种情况,我将转到第二个元素并比较它们(以此类推)


有人知道我怎么做吗?

你所描述的是列表的自然顺序。因此,您可以直接使用
max
,如果所有列表的大小相同(当列表的长度不同时,

如果列表较短,它将比具有相同第一个元素的较长列表低(例如:
[7,8,9]<[7,8,9,10]
,这也可以满足您的需要)

结果:

[7, 8, 9, 11]

您所描述的是列表的自然顺序。因此,您可以直接使用
max
,如果所有列表的大小相同(当列表的长度不同时,

如果列表较短,它将比具有相同第一个元素的较长列表低(例如:
[7,8,9]<[7,8,9,10]
,这也可以满足您的需要)

结果:

[7, 8, 9, 11]
您可以尝试以下方法:

 def returnBiggestStartingList(L1):

     return [i for i in L1 if i[0] == max(zip(*L1)[0])][0]
您可以尝试以下方法:

 def returnBiggestStartingList(L1):

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

我认为
max(L1)
适合你。这必须是纯python,还是可以使用numpy?我认为
max(L1)
适合你。这必须是纯python,还是可以使用numpy?这看起来很适合我。。。但我不确定列表的大小与任何事情有什么关系;-)如果一个列表较短,它将比第一个元素相同的较长列表低。但这可能也是意料之中的。这太完美了。。非常感谢你!所以Python很乐意比较它们并给出一个确定的结果:
max([1,2,3,4],[1,2,3])
-->
[1,2,3,4]
。由于OP表示比较仅基于第一个元素(并且在第一个元素相等时不提供任何冲突解决策略),因此假设任何具有最大第一个元素的列表都可以…:-)@让·弗朗索瓦·法布——啊,我错过了。就问题-)所述,它仍然只是词典排序。是的,我主张放弃关于长度的声明。充其量,我认为这不会给答案增加任何东西。在最坏的情况下,它感觉有点混乱,因为它似乎并不在乎长度。话虽如此,我认为这两种方式都不太重要…这对我来说是正确的。。。但我不确定列表的大小与任何事情有什么关系;-)如果一个列表较短,它将比第一个元素相同的较长列表低。但这可能也是意料之中的。这太完美了。。非常感谢你!所以Python很乐意比较它们并给出一个确定的结果:
max([1,2,3,4],[1,2,3])
-->
[1,2,3,4]
。由于OP表示比较仅基于第一个元素(并且在第一个元素相等时不提供任何冲突解决策略),因此假设任何具有最大第一个元素的列表都可以…:-)@让·弗朗索瓦·法布——啊,我错过了。就问题-)所述,它仍然只是词典排序。是的,我主张放弃关于长度的声明。充其量,我认为这不会给答案增加任何东西。在最坏的情况下,它感觉有点混乱,因为它似乎并不在乎长度。话虽如此,我认为这两方面都不重要。。。