首页 > 解决方案 > 如何根据索引获得矩阵的底部对角线?

问题描述

我想知道如何获得相对于矩阵的特定索引指向下方(左和右)的对角线。

为了更形象化,我将给出以下预期输出示例:

matrix = np.array([[2, 0, 0, 2],
                  [3, 9, 8, 3],
                  [3, 0, 0, 2],
                  [0, 0, 0, 0]])

职位的预期输出结果: matrix[1][2]

matrix[1][2]
8

diag_right = [2]
diag_left  = [0, 0]

相同的示例,但使用 matrix[1][2] 中的矩阵

matrix = np.array([[x, x, x, x],
                   [x, x, 8, x],
                   [x, 0, x, 2],
                   [0, x, x, x]])

标签: pythonarraysnumpymatrix

解决方案


matrix = np.array([[2, 0, 0, 2],
                  [3, 9, 8, 3],
                  [3, 0, 0, 2],
                  [0, 0, 0, 0]])

i = 1; j = 2
diag_right = []; diag_left = []

for k in range(1, len(matrix) - i):
    if(j+k < len(matrix[0])):
        diag_right.append(matrix[i+k][j+k])
    if(j-k >= 0):
        diag_left.append(matrix[i+k][j-k])

这是你要找的吗?


推荐阅读