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]来交换首尾行。

Open Compiler
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]),我们成功地交换了矩阵中每行首尾元素。

示例

在此示例中,我们将交换行和列维度不相等的矩阵的首尾行。

Open Compiler
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']

在此示例中,原始矩阵不是方阵,我们已成功交换了矩阵中每行首尾元素。

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

使用pop()、insert()和append()方法

在Python中,pop()、insert()和append()方法是列表操作方法。

  • pop()  pop方法删除指定位置的元素。默认情况下,它删除最后一个元素。

  • insert()  此方法可用于在任何所需位置插入元素。此方法接受两个参数,一个是元素,另一个是要插入元素的索引。

  • append()  方法用于在列表末尾添加元素。

示例

借助上述方法,我们将交换矩阵的首尾行元素。

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

更新于: 2023年5月15日

92 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告