使用预定义方法交换矩阵对角线的 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()  方法用于在列表末尾添加元素。

示例

在这个例子中,display() 函数将打印给定的矩阵。interchangeDiagonals() 函数将交换元素。

Open Compiler
#function for displaying matrix def display(matrix): for row in matrix: print(row) print() # interchanging the diagonals elements def 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 matrix matrix = [[1, 3, 4], [4, 5, 6], [7, 8, 3]] # displaying original matrix print("Original matrix: ") display(matrix) # displaying changed matrix print("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 矩阵。

更新于:2023年5月15日

227 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告