使用預定義方法交換矩陣對角線的 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() 函式將交換元素。

#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 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.