我有一个矩阵(由列表组成),它看起来像:
matrix = [[0, 0, 0, 0, 5],
[0, 0, 0, 4, 0],
[2, 0, 3, 0, 0],
[3, 2, 0, 2, 0],
[1, 0, 2, 0, 1]]
我正在努力创建一个函数,它将把这个矩阵作为输入,以及矩阵中的一个位置(由元组表示),并返回与该点相交的两条对角线(,而不使用NumPy)。比如说,
def getDiagonal(matrix, pos)
(row, col) = pos
# Smart diagonal finder code #
return (diag1, diag2)
diagonals = getDiagonals(matrix, (1, 1))
print(diagnonal[0])
print(diagnonal[1])
print(' ')
diagonals = getDiagonals(matrix, (1, 3))
print(diagnonal[0])
print(diagnonal[1])
预期产出:
OUT: [5, 4, 3, 2, 1]
OUT: [2, 2, 2]
OUT:
OUT: [0, 2, 2]
OUT: [0, 0, 3, 2, 1]
值得指出的是,我不介意对角线的返回元素从哪个方向(从下到上或从上到下)返回。它们可以很容易地用一种方法完成,如果需要,可以使用reverse()
来尊重它们
我已经研究过类似的问题,比如this one,但这主要涉及求矩阵的主对角线,提供的关于获取点的对角线的信息较少
非常感谢您的帮助和意见提前
有点让人困惑,但我认为这就是原因:
相关问题 更多 >
编程相关推荐