我就废话不多说了,直接上代码吧!

#Python的matrix转置

matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]

def printmatrix(m):

for ele in m:

for i in ele:

print("%2d" %i,end = " ")

print()

#1、利用元祖的特性进行转置

def transformMatrix(m):

#此处巧妙的先按照传递的元祖m的列数,生成了r的行数

r = [[] for i in m[0]]

for ele in m:

for i in range(len(ele)):

#【重点】:此处利用m的第ele行i列,并将该值追加到r的i行上;巧妙的利用了i

r[i].append(ele[i])

#printmatrix(r)#方便查看数组是怎么赋值的,如不需要可注释掉

#print("*"*20)#打印分隔符

return r

#2、利用zip函数生成转置矩阵

def transformMatrix1(m):

return zip(*m)

#3、利用numpy模块的transpose方法

def transformMatrix2(m):

import numpy

return numpy.transpose(m).tolist()

print("第一种方法结果展示")

printmatrix(transformMatrix(matrix))

print("第二种方法结果展示")

printmatrix(transformMatrix1(matrix))

print("第二种方法的简洁代码展示")

printmatrix(zip(*matrix))#为了代码更简洁,可以不用transformMatrix1函数,直接打印

print("第三种方法的结果展示")

printmatrix(transformMatrix2(matrix))

以上这篇Python 矩阵转置的几种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: Python 矩阵转置的几种方法小结

本文地址: http://www.cppcns.com/jiaoben/python/290157.html

python矩阵转置_Python 矩阵转置的几种方法小结相关推荐

  1. python 字符串拼接_Python字符串拼接的6种方法(转)

    add by zhj: 对于多行字符串连接,第6种连接方法很方便,连接时不会添加额外的空格. 1. 加号 第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此 ...

  2. 用python打开视频_Python读取视频的两种方法(imageio和cv2)

    用python读取视频有两种主要方法,大家可依据自己的需求进行使用. 方法一: 使用imageio库,没有安装的可用pip安装或自己下载,安装好后重启终端即可调用. import pylab impo ...

  3. python图片保存_python读取和保存图片5种方法对比

    python读取和保存图片5种方法对比 python中对象之间的赋值是按引用传递的,如果需要拷贝对象,需要用到标准库中的copy模块 方法一:利用 PIL 中的 Image 函数 这个函数读取出来不是 ...

  4. python字符串百分号_Python字符串格式化的2种方法

    本文介绍了Python字符串格式化,主要有两种方法,分享给大家,具体如下 用于字符串的拼接,性能更优. 字符串格式化有两种方式:百分号方式.format方式. 百分号方式比较老,而format方式是比 ...

  5. python 字符串替换_python字符串替换的2种方法

    一.python字符串替换可以用两种方法实现: 1.用字符串本身的方法 2.用正则来替换字符串 下面用个例子来实验: a = 'hello word' 我把a字符串里的word替换为python 1. ...

  6. python线性方程组求解_python求解方程组的三种方法

    python求解方程组的三种方法: Numpy求解方程组x + 2y = 3 4x + 5y = 6 当然我们可以手动写出解析解,然后写一个函数来求解,这实际上只是用 Python 来单纯做" ...

  7. python词频统计_python统计词频的三种方法

    1.利用字典dict来完成统计 #举例: a = [1 2 3 1 1 2] dict = {} for key in a: dict[key] = dict.get(key 0) + 1 #字典的g ...

  8. python 遍历目录_Python遍历目录的4种方法实例介绍

    1.os.popen运行shell列表命令 复制代码 代码如下: def traverseDirByShell(path): for f in os.popen('ls ' + path): prin ...

  9. python中格式化_Python中格式化的两种方法

    在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下:>>> 'Hello, %s' % 'world' 'Hello, world' >>> ' ...

  10. python遍历目录_Python遍历目录的4种方法

    1.os.popen运行shell列表命令 def traverseDirByShell(path): for f in os.popen('ls ' + path): print f.strip() ...

最新文章

  1. STARTUPE2原语
  2. 95% CI, 置信区间 Confidence Interval
  3. 【算法】八大经典排序算法详解
  4. centos 7 五笔安装
  5. linux 调优篇 :硬件调优(BIOS配置)* 壹
  6. Java正确获取客户端真实IP方法整理
  7. CSS属性之attr()
  8. UE4异步编程专题 - 多线程
  9. php用a什么软件来下载,AMQB官方PHP库
  10. 板式橡胶支座弹性模量怎样计算_Midas Civil支座模拟的详细解决方法
  11. python能做什么项目-这十个Python实战项目,让你瞬间读懂Python!
  12. git 怎么还原历史版本_git 还原到服务器版本
  13. Effective Java 思维导图
  14. linux dosbox使用教程,dosbox安装及汇编教程 dosbox的常用快捷键
  15. 什么是软件实施?软件实施前景几何?软件实施的面试题有那些?
  16. 内网远程控制安卓设备软件推荐
  17. 最易难学习的编程语言榜单出炉,C++最难学?
  18. 数据库课程设计------书店管理系统
  19. 联想Y430P CentOS 7.3 无线网络的配置
  20. 动态代理(JDK动态代理和CGLIB代理)

热门文章

  1. 李洪强iOS开发之后使用XIB实现横向滚动的UIScrollView
  2. Linux 命令(26)—— rename 命令
  3. (二) Keras 非线性回归
  4. 一定要知道的,那些Linux基本操作命令
  5. PHP常见概念混淆(五)之PHP类常量、静态属性和属性的区别
  6. 图片加载------reactVirtualized
  7. 名企笔试:京东 2016 算法工程师笔试题(登楼梯)
  8. jsp中头的导入两种方式区别
  9. Sparrow - Distributed, Low Latency Scheduling
  10. try-catch-finally的返回值问题