Python程序:交换矩阵中第一个和最后一个元素在列之间的位置

王林
发布: 2023-09-08 16:29:07
转载
1266人浏览过

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 matrix
def display(matrix):
   for row in matrix:
      print(row)
   print()

# displaying original matrix
print("Original matrix: ")
display(matrix)

# swap column elements
def 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 matrix
print("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 matrix
def display(matrix):
   for row in matrix:
      print(row)
   print()

# displaying original matrix
print("Original matrix: ")
display(matrix)

# swap column elements
def 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 matrix
print("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 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 columns
for row in matrix:
   temp1 = row[-1]
   temp2 = row[0]
   row.pop()
   row.pop(0)
   row.insert(0, temp1)
   row.append(temp2)

# displaying changed matrix
print("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]
登录后复制

使用临时变量和列表操作方法,我们成功地交换了列元素。

以上就是Python程序:交换矩阵中第一个和最后一个元素在列之间的位置的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:tutorialspoint网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号