我正在尝试获取列表列表中值最高的列表。我有这样的东西:
Lists = [[0,7,6,8],[1,4,6,5], [12,1,8,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]