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

yipeiwu_com6年前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设计】。

相关文章

Django框架的中的setting.py文件说明详解

Django框架的中的setting.py文件说明详解

1.加载数据库,数据库的配置不能写死在seting.py文件中,下面的方式是读取另外一个文件,配置数据库: config = '' with open(os.path.join(BA...

浅谈python socket函数中,send与sendall的区别与使用方法

在python socket编程中,有两个发送TCP的函数,send()与sendall(),区别如下: socket.send(string[, flags])  发送TCP数据,返回...

Django模板Templates使用方法详解

Django模板Templates使用方法详解

一、django的模板: 在settings.py的文件中可以看到并设置这个模板。 1.直接映射: 通过建立的文件夹(templates)和文件(html)来映射。 <!D...

使用Python编写简单的端口扫描器的实例分享

使用Python编写简单的端口扫描器的实例分享

单线程实现 单线程实现道理比较简单,这里尝试Soket连接3389,连接成功说明端口开放,否则说明没有开远程服务。随便修改了一下就ok了,代码如下,最终得到自己的IP地址。 #!/u...

python分析作业提交情况

python分析作业提交情况

这次做一个比较贴近我实际的东西:python分析作业提交情况。 要求:     将服务器中交作业的学生(根据文件的名字进行提取)和统计成绩的表格中...