Python程序:在行之间交换第一个和最后一个矩阵元素
矩阵是以行列格式排列的一组数字。在Python中,不能直接创建矩阵。相反,我们可以使用嵌套列表或NumPy数组作为矩阵。
下面演示了如何交换矩阵的第一行和最后一行的元素。
输入输出场景
假设我们有一个用嵌套列表表示的3X3矩阵,输出矩阵将是结果矩阵,其中第一个和最后一个行元素被交换。
输入矩阵:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
输出矩阵:
[7, 8, 9]
[4, 5, 6]
[1, 2, 3]
现在考虑另一个行列不等的矩阵。
输入矩阵:
['a', 'b']
['c', 'd', 'e']
['f', 'g', 'h', 'i']
输出矩阵:
['f', 'g', 'h', 'i']
['c', 'd', 'e']
['a', 'b']
现在我们讨论逐一的方法。
交换行
我们可以通过交换第一行和最后一行的元素,来简单地在一个矩阵的行之间交换元素。
示例
在本例中,我们将使用第一个[0]行和最后一个[-1]行索引的帮助,交换第一行和最后一行。
matrix = [[1,2,3], [4,5,6], [7,8,9]]
#display矩阵的函数
def display(matrix):
for row in matrix:
print(row)
print()
# 显示原始矩阵
print("原始矩阵: ")
display(matrix)
# 交换第一行和最后一行之间的元素
def swapLines(matrix):
matrix[0], matrix[-1] = matrix[-1], matrix[0]
return matrix
# 显示已更改的矩阵
print("已更改的矩阵: ")
display(swapLines(matrix))
输出
原始矩阵:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
已更改的矩阵:
[7, 8, 9]
[4, 5, 6]
[1, 2, 3]
通过使用Python的正索引和负索引(matrix [0],matrix [-1]),我们已经成功地在一个矩阵的行之间交换了第一个和最后一个元素。
示例
在本例中,我们将交换行列尺寸不相等的矩阵的第一行和最后一行。
matrix = [['a', 'b'], ['c', 'd', 'e'], [1, 2, 3]]
#display矩阵的函数
def display(matrix):
for row in matrix:
print(row)
print()
# 显示原始矩阵
print("原始矩阵: ")
display(matrix)
# 对换第一行和最后一行之间的元素
matrix[0], matrix[-1] = matrix[-1], matrix[0]
# 显示已更改的矩阵
print("已更改的矩阵: ")
display(matrix)
输出
原始矩阵:
['a', 'b']
['c', 'd', 'e']
[1, 2, 3]
已更改的矩阵:
[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']]
#用于显示矩阵的函数
def display(matrix):
for row in matrix:
print(row)
print()
#显示原始矩阵
print("原始矩阵: ")
display(matrix)
#交换第一行和最后一行之间的元素
temp1 = matrix[-1]
temp2 = matrix[0]
matrix.pop()
matrix.pop(0)
matrix.insert(0, temp1)
matrix.append(temp2)
#显示更改后的矩阵
print("更改后的矩阵: ")
display(matrix)
输出
原始矩阵:
['a', 'b']
['c', 'd', 'e']
['f', 'g', 'h', 'i']
更改后的矩阵:
['f', 'g', 'h', 'i']
['c', 'd', 'e']
['a', 'b']
通过使用名为pop()、insert()和append()的python列表操作方法,我们已成功交换了跨行矩阵中第一行和最后一行之间的元素。
注意 − 矩阵是通过使用Python的列表创建的。