Python程式交換矩陣中每行首尾元素


矩陣是一組以行和列格式排列的數字。在Python中,無法直接建立矩陣。相反,我們可以使用巢狀列表或NumPy陣列作為矩陣。

下面演示了交換矩陣首尾行元素的方法。

輸入輸出場景

假設我們有一個使用巢狀列表表示的3X3矩陣。輸出矩陣將是結果矩陣,其首尾行元素已交換。

Input matrix: 
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]

Output matrix: 
[7, 8, 9]
[4, 5, 6]
[1, 2, 3]

讓我們考慮另一個行和列不相等的矩陣。

Input matrix: 
['a', 'b']
['c', 'd', 'e']
['f', 'g', 'h', 'i']

Output matrix: 
['f', 'g', 'h', 'i']
['c', 'd', 'e']
['a', 'b']

讓我們逐一討論方法 -

交換行

我們可以透過交換首尾行來簡單地交換矩陣中每行首尾元素。

示例

在此示例中,我們將使用首行索引[0]和末行索引[-1]來交換首尾行。

matrix = [[1,2,3], [4,5,6], [7,8,9]]
#function for displaying matrix
def display(matrix):
   for row in matrix:
      print(row)
   print()

# displaying original matrix
print("Original matrix: ")
display(matrix)

# interchanging the element between first and last rows
def swapLines(matrix):
   matrix[0], matrix[-1] = matrix[-1], matrix[0]
   return matrix

# displaying changed matrix
print("Changed matrix: ")
display(swapLines(matrix))

輸出

Original matrix: 
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]

Changed matrix: 
[7, 8, 9]
[4, 5, 6]
[1, 2, 3]

透過使用Python正負索引(matrix[0],matrix[-1]),我們成功地交換了矩陣中每行首尾元素。

示例

在此示例中,我們將交換行和列維度不相等的矩陣的首尾行。

matrix = [['a', 'b'], ['c', 'd', 'e'], [1, 2, 3]]

#function for displaying matrix
def display(matrix):
   for row in matrix:
      print(row)
   print()

# displaying original matrix
print("Original matrix: ")
display(matrix)

# interchanging the element between first and last rows
matrix[0], matrix[-1] = matrix[-1], matrix[0]

# displaying changed matrix
print("Changed matrix: ")
display(matrix)

輸出

Original matrix: 
['a', 'b']
['c', 'd', 'e']
[1, 2, 3]

Changed matrix: 
[1, 2, 3]
['c', 'd', 'e']
['a', 'b']

在此示例中,原始矩陣不是方陣,我們已成功交換了矩陣中每行首尾元素。

使用pop()、insert()和append()方法

在Python中,pop()、insert()和append()方法是列表操作方法。

  • pop()  pop方法刪除指定位置的元素。預設情況下,它刪除最後一個元素。

  • insert()  此方法可用於在任何所需位置插入元素。此方法接受兩個引數,一個是元素,另一個是要插入元素的索引。

  • append()  方法用於在列表末尾新增元素。

示例

藉助上述方法,我們將交換矩陣的首尾行元素。

matrix = [['a', 'b'], ['c', 'd', 'e'], ['f', 'g', 'h', 'i']]

#function for displaying matrix
def display(matrix):
   for row in matrix:
      print(row)
   print()

# displaying original matrix
print("Original matrix: ")
display(matrix)

# interchanging the element between first and last rows
temp1 = matrix[-1]
temp2 = matrix[0]
matrix.pop()
matrix.pop(0)
matrix.insert(0, temp1)
matrix.append(temp2)

# displaying changed matrix
print("Changed matrix: ")
display(matrix)

輸出

Original matrix: 
['a', 'b']
['c', 'd', 'e']
['f', 'g', 'h', 'i']

Changed matrix: 
['f', 'g', 'h', 'i']
['c', 'd', 'e']
['a', 'b']

透過使用稱為pop()、insert()和append()的Python列表操作方法,我們已成功交換了矩陣中每行首尾元素。

注意 - 矩陣是使用Python的列表巢狀建立的。

更新於: 2023年5月15日

92 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告