【问题标题】:Python matrix add diagonal elementsPython矩阵添加对角线元素
【发布时间】:2016-01-25 16:26:07
【问题描述】:

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

【问题讨论】:

  • 如果您向我们展示您已经拥有的东西以及您遇到的问题,那将会有所帮助。事实上,这是一个相当直截了当的问题,这使得它看起来像“你能帮我做作业吗?”一种问题。一般来说,这里的人更容易接受我们认为我们在帮助您学习而不是仅仅为您提供答案的问题。
  • 如果这里的任何答案能够解决您的问题,请确保点击左侧的绿色复选标记“接受”最佳答案。

标签: python


【解决方案1】:

对角元素在同一行列坐标:

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)))

【讨论】:

    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-02
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多