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]
让我们考虑另一个行和列不相等的矩阵。
立即学习“Python免费学习笔记(深入)”;
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 matrixdef display(matrix): for row in matrix: print(row) print()# displaying original matrixprint("Original matrix: ")display(matrix)# swap column elementsdef 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 matrixprint("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 matrixdef display(matrix): for row in matrix: print(row) print()# displaying original matrixprint("Original matrix: ")display(matrix)# swap column elementsdef 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 matrixprint("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 matrixdef display(matrix): for row in matrix: print(row) print()# displaying original matrixprint("Original matrix: ")display(matrix)# interchanging the element between first and last columnsfor row in matrix: temp1 = row[-1] temp2 = row[0] row.pop() row.pop(0) row.insert(0, temp1) row.append(temp2)# displaying changed matrixprint("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]
使用临时变量和列表操作方法,我们成功地交换了列元素。