首頁 >後端開發 >Python教學 >Python程式:交換矩陣中第一個與最後一個元素在列之間的位置

Python程式:交換矩陣中第一個與最後一個元素在列之間的位置

王林
王林轉載
2023-09-08 16:29:07870瀏覽

Python程式:交換矩陣中第一個與最後一個元素在列之間的位置

矩陣是由許多按行和列形式排列的數字所組成的二維陣列。 Python沒有任何資料類型來表示矩陣,但我們可以使用嵌套列表或NumPy數組作為矩陣。

請參閱以下輸入輸出場景,了解如何互換矩陣的第一列和最後一列元素。

輸入輸出場景

假設我們有一個使用列表列表表示的 3X3 矩陣。輸出矩陣將是交換第一列和最後一列元素的結果矩陣。

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

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

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

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

讓我們看看跨列交換矩陣中第一個和最後一個元素的不同方法。

交換列

我們可以透過交換矩陣的第一個和最後一個列元素來簡單地跨列交換矩陣中第一個和最後一個元素。

範例

使用列表列表建立一個矩陣,以便我們可以應用列表索引技術來交換元素。

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)

# swap column elements
def swapColumns(matrix):
   for i in range(len(matrix)):
      t = matrix[i][0]
      matrix[i][0] = matrix[i][-1]
      matrix[i][-1] = t
   return matrix

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

輸出

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

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

給定的矩陣是一個方陣,我們已經成功地跨列交換了給定矩陣的第一個和最後一個元素,這是透過使用 python 正負索引來完成的。

範例

在此範例中,我們將交換非方陣的列元素。

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)

# swap column elements
def swapColumns(matrix):
   for i in range(len(matrix)):
      t = matrix[i][0]
      matrix[i][0] = matrix[i][-1]
      matrix[i][-1] = t
   return matrix

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

輸出

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

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

使用 for 迴圈迭代矩陣行,並使用索引交換列元素。

使用清單操作方法

在Python中,pop()、insert()和append()是列表操作方法。並且矩陣是使用列表的列表創建的,以便我們可以使用這些列表操作方法跨列交換矩陣的第一個和最後一個元素。

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

文法

list_obj.pop(index)
  • insert() - 此方法可用於在任何所需位置插入元素。此方法接受兩個參數,一個是元素以及必須插入該元素的索引。

文法

list_obj.insert(index, element)
  • append() - 方法用於在清單末尾新增元素。

文法

list_obj.append(item)

範例

讓我們舉個例子,應用pop()、insert()和append()方法。

matrix = [[1, 3], [4, 5, 6], [7, 8, 3, 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 columns
for row in matrix:
   temp1 = row[-1]
   temp2 = row[0]
   row.pop()
   row.pop(0)
   row.insert(0, temp1)
   row.append(temp2)

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

輸出

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

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

使用臨時變數和清單操作方法,我們成功地交換了列元素。

以上是Python程式:交換矩陣中第一個與最後一個元素在列之間的位置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除