Python程序交换矩阵对角线的元素,使用预定义的方法
对角线就是矩阵中的交叉元素。
一个方阵有两个对角线。一个是主对角线 - 从方阵的左上角到右下角。另一个是副对角线 - 从方阵的右上角到左下角。
交换对角线只是改变矩阵的主对角线和次对角线元素。
请查看以下场景,以便简要了解
输入输出场景
假设我们有一个方阵。输出矩阵将是结果矩阵,其对角线互换。
立即学习“Python免费学习笔记(深入)”;
Input matrix: [1, 3, 4][4, 5, 6][7, 8, 3]Output matrix: [4, 3, 1][4, 5, 6][3, 8, 7]
让我们考虑一个4X4矩阵。
Input matrix: ['o', 't', 'l', 'K']['v', 'P', 's', 'm']['E', 's', 'X', 'c']['e', 'p', 'O', 'j']Output matrix: ['K', 't', 'l', 'o']['v', 's', 'P', 'm']['E', 's', 'X', 'c']['j', 'p', 'O', 'e']
使用Python列表方法
在Python中,index()、pop()、insert()和append()方法都是列表方法。而在这里,通过使用列表的列表来创建矩阵,以便我们可以使用这些列表方法来交换对角线。
index() − index() 方法返回给定值第一次出现的位置。
pop() − pop方法会移除指定位置的元素。默认情况下,它会移除最后一个元素。
insert() − 这个方法可以用来在任意位置插入元素。该方法接受两个参数,一个是要插入的元素,另一个是要插入的位置的索引。
append() − 方法用于在列表末尾添加一个元素。
Example
在这个例子中,display()函数将打印给定的矩阵。而interchangeDiagonals()函数将交换元素。
#function for displaying matrixdef display(matrix): for row in matrix: print(row) print()# interchanging the diagonals elementsdef interchangeDiagonals(matrix): for row in matrix: if matrix.index(row) != len(matrix) // 2: temp1 = row[-1] temp2 = row[0] row.pop() row.pop(0) row.insert(0, temp1) row.append(temp2) return matrix# input matrixmatrix = [[1, 3, 4], [4, 5, 6], [7, 8, 3]]# displaying original matrixprint("Original matrix: ")display(matrix) # displaying changed matrixprint("Changed matrix: ")display(interchangeDiagonals(matrix))
输出
Original matrix: [1, 3, 4][4, 5, 6][7, 8, 3]Changed matrix: [4, 3, 1][4, 5, 6][3, 8, 7]
通过使用Python列表方法,我们成功地交换了给定矩阵的对角线元素。
注意− 上述方法仅适用于3X3矩阵。