【问题标题】:Getting sum of each diagonal of a 2D matrix in Python在Python中获取二维矩阵的每个对角线的总和
【发布时间】: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


    【解决方案1】:

    你可以这样试试:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 2016-09-01
      • 2014-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      相关资源
      最近更新 更多