Python 3 在数组中添加对角线

Python 3 Adding Diagonals in an Array

我似乎找不到任何有关在 4x4 数组中添加两条对角线的信息。

row = 4
column = 4
lis1 = [23.5, 30.1, 56.2, 11.9]
lis2 = [45.1, 8.9, 77.3, 54.1]
lis3 = [6.6, 7.7, 8.8, 2.2]
lis4 = [9.9, 8.9, 7.8, 23.6]
array = [lis1, lis2, lis3, lis4]

def diagonalSum(array):
    count = 0
    for i in range (len(array)):
        count += array[i][i]
    print ('The total of the elements in both diagonals equals  %.2f' %(count))
    return count

当我调用该函数时,它会打印 lis1[0]+lis2[1]+lis3[2]+lis4[3] 的总数,但我还需要它来计算 lis4[0]+lis3[1]+lis2[2]+lis1[3] 的总数并显示两条对角线的总数。有什么建议吗?

您只计算从左上角到右下角的对角线,在本例中为 0,0 1,1 2,2 3,3。您还需要从右上角到左下角计算另一条对角线,或 0,3 1,2 2,1 3,0

要使用一个循环,您可以添加另一个您自己递增或递减的索引,就像这样

j = len(array) - 1
for i in range(len(array)):
    # diagonal from top left to bottom right
    count += array[i][i]
    # diagonal from bottom left to top right
    count += array[j][i]
    j -= 1