我试图找出矩阵中对角线元素的总和。这里,n 是方阵的大小,a 是矩阵。有人可以向我解释这里发生了什么。
n = 3
a = [[11,2,4],[4,5,6],[10,8,-12]]
sum_first_diagonal = sum(a[i][i] for i in range(n))
sum_second_diagonal = sum(a[n-i-1][n-i-1] for i in range(n))
print(str(sum_first_diagonal)+" "+str(sum_first_diagonal))
原文由 Hassan Imam 发布,翻译遵循 CC BY-SA 4.0 许可协议
试试这个来总结你的第二个对角线:
内部循环访问这些条目:
样本矩阵的这条对角线的总和值为:
您的代码中的错误是对两个维度使用相同的表达式:
这将以相反的顺序再次处理第一个对角线
[(2, 2), (1, 1), (0, 0)]
给你两次相同的总和。