Python矩阵添加对角元素

时间:2016-01-25 16:26:07

标签: python

我需要制作一个小程序,它将采用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 作为提示。

2 个答案:

答案 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