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的列表巢狀建立的。
廣告