python 实现矩阵上下/左右翻转,转置的示例

yipeiwu_com7年前Python基础

python中没有二维数组,用一个元素为list的list(matrix)保存矩阵,row为行数,col为列数

1. 上下翻转:只需要把每一行的list交换即可

for i in range(row // 2):
  matrix[i], matrix[row-1-i] = matrix[row-1-i], matrix[i]

2. 左右翻转:需要逐个交换元素

for m in matrix:
  for j in range(col // 2):
    m[j], m[col-1-j] = m[col-1-j], m[j]

3. 转置

matrix_T=list(map(list,zip(*matrix)))

也可以将list转化为numpy数组后再转置\

matrix=numpy.array(matrix,dtype=int)
matrix_T=numpy.transpose(matrix)

以上这篇python 实现矩阵上下/左右翻转,转置的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python Numpy库datetime类型的处理详解

Python Numpy库datetime类型的处理详解

前言 关于时间的处理,Python中自带的处理时间的模块就有time 、datetime、calendar,另外还有扩展的第三方库,如dateutil等等。通过这些途径可以随心所欲地用P...

Python的一些用法分享

1)正则表达式的使用。 复制代码 代码如下: #正则表达式的模块 import re #正则表达式 rePattern = '.*[0-9]{4}' pattern = re.compi...

Python实现的求解最小公倍数算法示例

本文实例讲述了Python实现的求解最小公倍数算法。分享给大家供大家参考,具体如下: 简单分析了一下,前面介绍的最大公约数的求解方法跟最小公倍数求解方法类似,只需要改一个简单的条件,然后...

rabbitmq(中间消息代理)在python中的使用详解

rabbitmq(中间消息代理)在python中的使用详解

在之前的有关线程,进程的博客中,我们介绍了它们各自在同一个程序中的通信方法。但是不同程序,甚至不同编程语言所写的应用软件之间的通信,以前所介绍的线程、进程队列便不再适用了;此种情况便只能...

Python正则捕获操作示例

本文实例讲述了Python正则捕获操作。分享给大家供大家参考,具体如下: 目的: 给表达式 '10+6/5-4*2' 中每个运算符左右都加一个空格字符,变成:'10 + 6 / 5 -...