如何获取列表列表中最后值最高的列表

时间:2019-01-04 13:47:17

标签: python max nested-lists

我正在尝试获取列表列表中值最高的列表。我有这样的东西:

Lists = [[0,7,6,8],[1,4,6,5], [12,1,8,3]]

我想检索最后一个值最高的列表,在这种情况下是第一个列表。我该怎么办?

3 个答案:

答案 0 :(得分:2)

max与密钥一起使用:

max(Lists, key=lambda x: x[-1])

>>> [0, 7, 6, 8]

答案 1 :(得分:2)

使用max() + operator.itemgetter()

$this->input

以上内容的工作方式:

from operator import itemgetter Lists = [[0,7,6,8], [1,4,6,5], [12,1,8,3]] print(max(Lists, key=itemgetter(-1))) # [0, 7, 6, 8] 获取最后一项,并将其应用itemgetter(-1)的{​​{1}}参数,该参数指示必须通过比较每个子列表的最后一个元素来找到最大值。

请注意,key始终为O(N),因为您需要检查列表中的每个元素以确定最大元素。

答案 2 :(得分:1)

其他选项:

array = [[0,7,6,8],[1,4,6,5], [12,1,8,3]]

max_i, max_e = 0, array[0][-1]
for i, e in enumerate(array):
  if e[-1] > max_e: max_i, max_e = i, e[-1]

array[max_i]
#=> [0, 7, 6, 8]