我需要制作一个小程序,它将采用4x4矩阵并添加列和行的对角线。
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
像这样会增加1 + 2 + 3 + 4。
很抱歉这是模糊的,这就是我想到的,直接在每列添加一个矩阵。我还没有使用numpy。
matrix = [1,2,3,4],[5,6,7,8],[9,10,11,12] #Assume a list is given
total = 0
for column in range(0, len(matrix[0])):
for row in range(0, len(matrix)):
total += matrix[row][column]
print("Sum for column " + str(column) + " is " + str(total))
total = 0 #Reset total to zero before restarting count
我不是100%从哪里开始,所以任何想法都会很棒。我的老师告诉我们 offset 作为提示。
答案 0 :(得分:3)
对角元素位于相同的行 - 列坐标:
matrix = [[1,2,3,4],
[1,2,3,4],
[1,2,3,4],
[1,2,3,4]]
answer = sum(matrix[i][i] for i in range(len(matrix)))
答案 1 :(得分:2)
简单使用numpy
>>> import numpy as np
>>> matrix = [[1,2,3,4],
[1,2,3,4],
[1,2,3,4],
[1,2,3,4]]
>>> sum(np.diag(matrix))
10