使用 Python 交换矩阵中第一行和最后一行的元素

pythonserver side programmingprogramming

在本文中,我们将学习一个 Python 程序来交换矩阵中第一行和最后一行的元素。

使用的方法

  • 使用临时变量(使用嵌套循环)

  • 使用交换(",")运算符(不使用任何循环)

  • 使用 pop()、insert() 和 append() 函数

方法 1:使用临时变量(使用嵌套循环)

算法(步骤)

以下是执行所需任务需要遵循的算法/步骤。 −

  • 创建一个函数 swapFirstandLastRow(),通过接受输入矩阵、行和列作为参数来交换输入矩阵的第一行和最后一行。

  • 遍历矩阵的行和列,并使用临时变量交换第一行和最后一行元素。

  • 创建一个变量来存储输入矩阵。 创建一个变量来存储矩阵的输入数。

  • 创建另一个变量来存储矩阵的输入数。

  • 通过将输入矩阵、行和列传递给上面定义的 swapFirstandLastRow() 函数来调用它,以交换第一行和最后一行。

  • 打印结果矩阵通过使用嵌套 for 循环遍历行和列来交换输入矩阵的第一行和最后一行。

示例

以下程序使用临时变量和嵌套循环交换输入矩阵的第一行和最后一行 -

# 函数交换输入矩阵的第一行和最后一行
# 通过接受输入矩阵、行和列作为参数
def swapFirstandLastRow(inputMatrix, rows, cols):
    # 使用临时变量交换第一行和最后一行元素
      for p in range(rows):
         temp = inputMatrix[0][p]
         inputMatrix[0][p] = inputMatrix[rows-1][p]
         inputMatrix[rows-1][p] = temp
# 输入矩阵
inputMatrix = [[5, 1, 3],
               [9, 6, 8],
               [4, 2, 7]]
# 输入矩阵的行数
rows = 3
# 输入矩阵的列数
cols = 3
# 调用上面定义的 swapFirstandLastRow() 函数
# 通过将输入矩阵、行和列传递给它
swapFirstandLastRow(inputMatrix, rows, cols)
print("交换第一行和最后一行后的矩阵:")
# 遍历矩阵的行
for p in range(rows):
    # 遍历当前行的列
   for q in range(cols):
      #打印矩阵当前行和列的相应元素
      print(inputMatrix[p][q], end=" ")
  # 打印新行
   print()

输出

执行时,上述程序将生成以下输出 -

交换第一行和最后一行后的矩阵:
4 2 7
9 6 8
5 1 3

方法 2:使用交换(",")运算符(不使用任何循环)

示例

以下程序交换输入矩阵的第一行和最后一行,而不使用任何循环和(,)运算符 -

# 输入矩阵
inputMatrix = [[5, 1, 3],
               [9, 6, 8],
               [4, 2, 7]]
# 使用 (,) 运算符交换第一行和最后一行
inputMatrix[0], inputMatrix[-1] = inputMatrix[-1], inputMatrix[0]
# 输入矩阵的行数
rows = 3
# 输入矩阵的列数
cols = 3
print("交换第一行和最后一行后的矩阵:")
# 遍历矩阵的行
for p in range(rows):
  # 遍历当前行的列
  for q in range(cols):
     # 打印当前行和列的相应元素
     print(inputMatrix[p][q], end=" ")
  print()

输出

执行时,上述程序将生成以下输出 -

Matrix after interchanging first and last rows:
4 2 7 
9 6 8 
5 1 3 

方法 3:使用 pop()、insert() 和 append() 函数

算法(步骤)

以下是执行所需任务需要遵循的算法/步骤。 −

  • 使用负索引获取矩阵的最后一行。

  • 使用正索引获取矩阵的第一行。

  • 使用pop()函数(从列表中删除最后一个元素并返回)删除矩阵的最后一行。

  • 使用pop()函数通过将索引传递为0来删除矩阵的第一行。

  • 使用insert()函数(在指定索引处插入值)在索引0(第一行)处插入最后一行。

  • 使用append()函数(将元素添加到末尾的列表)将矩阵的第一行附加到末尾结束。

  • 使用嵌套 for 循环遍历行和列,交换输入矩阵的第一行和最后一行后,打印结果矩阵

示例

以下程序使用 pop()、insert() 和 append() 函数交换输入矩阵的第一行和最后一行 −

# 输入矩阵
inputMatrix = [[5, 1, 3],
               [9, 6, 8],
               [4, 2, 7]]
# 获取矩阵的最后一行
last_row = inputMatrix[-1]
# 获取矩阵的第一行
first_row = inputMatrix[0]
# 删除矩阵的最后一行
inputMatrix.pop()
# 删除矩阵的第一行
inputMatrix.pop(0)
# 在索引 0(第一行)处插入最后一行
inputMatrix.insert(0, last_row)
# 在末尾附加(在末尾添加)矩阵的第一行
inputMatrix.append(first_row)
# 输入矩阵的行数
rows = 3
# 输入矩阵的列数
cols = 3
print("交换第一行和最后一行后的矩阵:")
# 遍历矩阵的行
for p in range(rows):
    # 遍历当前行的列
    for q in range(cols):
        # 打印矩阵当前行和列的相应元素
        print(输入矩阵[p][q],结束="")
    print()

输出

执行时,上述程序将生成以下输出 -

交换第一行和最后一行后的矩阵:
4 2 7
9 6 8
5 1 3

结论

在本文中,我们学习了如何使用三种不同的方法交换矩阵的第一个和最后一个元素:使用临时变量、(,) 运算符以及 pop() 和 insert() 等方法。我们还学习了如何使用 pop() 和 insert() 函数从矩阵中删除和添加(插入)行。我们学习了如何使用 (,) 运算符交换两个变量/可迭代对象。


相关文章