【问题标题】:Matrix Position矩阵位置
【发布时间】:2020-08-19 01:37:27
【问题描述】:

我需要弄清楚如何返回给定矩阵中最大值的矩阵位置。例如:

[[1,2,3],
 [4,5,6],
 [7,8,9]]

找到矩阵最大值的简单方法是:

maximum = max(max(matrix))
return maximum

对于这个矩阵,最大值是 int 值:9。

但是,在找到值的确切矩阵位置时,我有点迷茫。我知道在矩阵中,左上角被认为是 (0,0) 并且值 (i,j) (假设 i,j ε int)从 (0,0) 的每个位置增加一个 - i水平增加,j 垂直增加。

这个矩阵的正确输出应该是 (2,2)。

任何指针?

【问题讨论】:

  • 更直接的解决方案是使用两个for 循环(每个维度一个),迭代整个矩阵,然后手动检查 eacg 点。不过,目前这个范围太广了。开始吧,当您有特定问题时回复。

标签: python-3.x matrix


【解决方案1】:

使用 numpy:

import numpy as np
mat = np.arange(1,9).reshape(3,3)         # Creates your example matrix
maxVal = np.amax(mat)                     # Returns 9 for your example
locMax = [np.where(mat == maxVal)[0][0],np.where(mat == maxVal)[1][0]]   # Returns (2,2) as list

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    相关资源
    最近更新 更多