Python: 从多维列表中获取最大值

Python: Get max value from a multi-dimensional list

我想获取此列表的最大值,但比排序更快。

[[1, 3], [2, 3], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [4, 1], [4, 2], [4, 3], [5, 2], [5, 3]]

我曾经像这样使用 sorted with key

bb = int(sorted(ab, key = lambda x:(int(x[1])))[-1][1])

对于此列表的结果

[[1, 1], [2, 1], [2, 2], [3, 2]]

我可以得到 3 和 2,这是每行的最大值 但是我花了太多时间,所以我怎样才能加快速度? 我希望能够像排序方法一样设置键,请帮助

您不需要对列表进行排序(这会增加一堆冗余操作)。您可以改为取内部列表最大值中的最大值:

lst = [[1, 3], [2, 3], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [4, 1], [4, 2], [4, 3], [5, 2], [5, 3]]
result = max(max(l) for l in lst)

您可以尝试使用 numpy,它应该 return 5 根据您的列表

import numpy as np

np.max(ab)