小编Gri*_*uld的帖子

寻找网格中最大值的坐标

给定一个数字网格,例如

g=[[2, 2, 2, 3, 2],
   [2, -1, -1, 3, 3],
   [3, 2, -1, 3, 3],
   [2, 4, 3, 3, 3],
   [-1, 2, 2, -1, 1]]
Run Code Online (Sandbox Code Playgroud)

我正在那个 2d 列表中搜索最大值,在这个例子中,显然是 4。要找到这个值,就max(max(graph,key=max))可以完成这项工作(即使我知道它两次调用 max 来获取最大值的行,所以它不是非常高效)

但这只是我正在寻找的一半。我需要这个 4 的坐标。我想要一段简短、高效、Python 的代码,这样 x, y = find_2d_max_index(g)可以给我最大数字的位置,而不需要之前做三重最大的事情。我想避免index()在找到最大值后使用该方法,因为那样效率非常低。

我研究了 numpy argmax,但无法让它在带有二维列表的应用程序中工作。

任何帮助表示赞赏。

list python-3.x

5
推荐指数
2
解决办法
6768
查看次数

标签 统计

list ×1

python-3.x ×1