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() - insert()方法用于在任意位置插入元素。该方法包含两个参数,一个是元素,另一个是插入元素的索引。
-
append() - append()方法用于在列表末尾添加元素。
示例
在此示例中,display()函数将打印给定的矩阵。interchangeDiagonals()函数将交换矩阵的对角线元素。
#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矩阵。