【发布时间】:2021-12-08 16:46:11
【问题描述】:
假设我有一个 n x n 矩阵。 我想获得每个对角线的总和并将其打印给用户。 对于 n=3,我可以拥有
matrix =
[[1,2,3],
[1,2,3],
[1,2,3]]
我会打印出来的:
sum1 = 3
sum2 = 5
sum3 = 6
sum4 = 3
sum5 = 1
我想在 python 中实现它。感谢您的帮助!
【问题讨论】:
标签: python matrix sum diagonal
假设我有一个 n x n 矩阵。 我想获得每个对角线的总和并将其打印给用户。 对于 n=3,我可以拥有
matrix =
[[1,2,3],
[1,2,3],
[1,2,3]]
我会打印出来的:
sum1 = 3
sum2 = 5
sum3 = 6
sum4 = 3
sum5 = 1
我想在 python 中实现它。感谢您的帮助!
【问题讨论】:
标签: python matrix sum diagonal
你可以这样试试:
import numpy as np
# Your Input
matrix =[[1,2,3],[1,2,3],[1,2,3]]
# Get Max : -> col
max_col = len(matrix[0])
# Get Max : -> row
max_row = len(matrix)
# Prepare the list of all diag value
fdiag = [[] for _ in range(max_row + max_col - 1)]
# Get all posible diag value
for x in range(max_col):
for y in range(max_row):
fdiag[x+y].append(matrix[x][y])
# Output
for i in range (0,len(fdiag)):
print("sum"+str(len(fdiag)-i)+"="+str(sum(fdiag[i])))
输出:
sum5=1
sum4=3
sum3=6
sum2=5
sum1=3
【讨论】: