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的列表巢狀建立的。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP