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进行QQ批量登录的实例代码

具体代码如下所示: #coding=utf-8 __author__ = 'Eagle' import os import time import win32gui import w...

python3+PyQt5实现柱状图

python3+PyQt5实现柱状图

本文通过Python3+pyqt5实现了python Qt GUI 快速编程的16章的excise例子。 #!/usr/bin/env python3 import random...

python用opencv批量截取图像指定区域的方法

代码如下 import os import cv2 for i in range(1,201): if i==169 or i==189: i = i+1 pth =...

浅谈pyqt5在QMainWindow中布局的问题

引言: 在pyqt5中使用了父类为QMainWindow的话,在里面使用布局类,QGridLayout, QHBoxLayout ,QVBoxLayout 时,发现不好用。 解决: 如果...

Python socket.error: [Errno 98] Address already in use的原因和解决方法

一、原因浅析 今天在写一个Python与html5 Websocket 实例,么次终止运行重新运行脚本总是提示地址已经存在并且被使用!查询相关文档才知道在socket编程中,当通过客户端...