首页  >  文章  >  后端开发  >  Python程序交换矩阵对角线的元素,使用预定义的方法

Python程序交换矩阵对角线的元素,使用预定义的方法

王林
王林转载
2023-08-18 17:37:031808浏览

对角线就是矩阵中的交叉元素。

一个方阵有两个对角线。一个是主对角线 - 从方阵的左上角到右下角。另一个是副对角线 - 从方阵的右上角到左下角。

交换对角线只是改变矩阵的主对角线和次对角线元素。

请查看以下场景,以便简要了解

输入输出场景

假设我们有一个方阵。输出矩阵将是结果矩阵,其对角线互换。

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 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矩阵。

以上是Python程序交换矩阵对角线的元素,使用预定义的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除