使用预定义方法交换矩阵的对角线的Python程序
对角线就是矩阵的交叉元素。
一个正方形矩阵有两条对角线。一条是主对角线——从正方形矩阵的左上角到右下角。另一条是副对角线——从右上角到左下角。
交换对角线就是交换矩阵的主对角线和副对角线的元素。
请查看下面的情况以便更好地理解它
输入输出示例
假设我们有一个正方形矩阵。输出矩阵将是对角线交换后的结果矩阵。
输入矩阵:
[1, 3, 4]
[4, 5, 6]
[7, 8, 3]
输出矩阵:
[4, 3, 1]
[4, 5, 6]
[3, 8, 7]
让我们考虑一个 4X4 的矩阵。
输入矩阵:
['o', 't', 'l', 'K']
['v', 'P', 's', 'm']
['E', 's', 'X', 'c']
['e', 'p', 'O', 'j']
输出矩阵:
['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()函数将交换元素。
#显示矩阵的函数
def display(matrix):
for row in matrix:
print(row)
print()
# 交换对角线元素
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
# 输入矩阵
matrix = [[1, 3, 4], [4, 5, 6], [7, 8, 3]]
# 显示原始矩阵
print("原始矩阵: ")
display(matrix)
# 显示更改后的矩阵
print("更改后的矩阵: ")
display(interchangeDiagonals(matrix))
输出
原始矩阵:
[1, 3, 4]
[4, 5, 6]
[7, 8, 3]
更改后的矩阵:
[4, 3, 1]
[4, 5, 6]
[3, 8, 7]
通过使用Python列表方法,我们成功地交换了给定矩阵的对角线元素。
注意 −上述方法仅适用于3X3矩阵。