首页 > 解决方案 > Python:按二维数组随机返回最大 8 个值

问题描述

我想提取x不同位置的最大值并保存它们的位置。

[[ 5, 57, 66, 59, 26],
 [23, 66, 97, 96, 33],
 [31, 63, 69, 55, 20],
 [ 2, 77, 37, 85, 40],
 [87, 94, 43, 92, 44],
]

谢谢

标签: python

解决方案


maxrange数组一起使用是获取最大元素索引的一种方法:

>>> [max(range(len(row)), key=row.__getitem__) for row in m]
[2, 2, 2, 3, 1]

另一种选择是index在获取最大元素本身之后使用(这效率稍低,因为现在您要扫描每一行两次,但差异是一个常数因素):

>>> [row.index(max(row)) for row in m]
[2, 2, 2, 3, 1]

推荐阅读