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的列表嵌套创建的。
广告