#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. Спасибо за помощь!
Ответ №1:
Вы можете попробовать вот так :
import numpy as np # Your Input matrix =[[1,2,3],[1,2,3],[1,2,3]] # Get Max : -gt; col max_col = len(matrix[0]) # Get Max : -gt; 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