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']
通过使用 python 中的列表操作方法 pop()、insert() 和 append(),我们成功地在对行进行矩阵的第一个和最后一个元素之间的交换。
注意 - 矩阵是通过使用 python 的列表列表创建的。