首頁  >  文章  >  後端開發  >  Python程式交換矩陣對角線的元素,使用預先定義的方法

Python程式交換矩陣對角線的元素,使用預先定義的方法

王林
王林轉載
2023-08-18 17:37:031811瀏覽

對角線就是矩陣中的交叉元素。

一個方陣有兩個對角線。一個是主對角線 - 從方陣的左上角到右下角。另一個是副對角線 - 從方陣的右上角到左下角。

交換對角線只是改變矩陣的主對角線和次對角線元素。

請查看以下場景,以便簡要了解

輸入輸出場景

假設我們有方陣。輸出矩陣將是結果矩陣,其對角線互換。

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刪除