Python 矩阵转置的几种方法小结


Posted in Python onDecember 02, 2019

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

#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 相关文章推荐
python实现代理服务功能实例
Nov 15 Python
用Python操作字符串之rindex()方法的使用
May 19 Python
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
Python遍历文件夹和读写文件的实现代码
Aug 28 Python
[原创]Python入门教程4. 元组基本操作
Oct 31 Python
python 构造三维全零数组的方法
Nov 12 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
Pytorch 使用 nii数据做输入数据的操作
May 26 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
Dec 14 Python
Python tkinter实现日期选择器
Feb 22 Python
python析构函数用法及注意事项
Jun 22 Python
numpy.transpose()实现数组的转置例子
Dec 02 #Python
Python中低维数组填充高维数组的实现
Dec 02 #Python
python函数声明和调用定义及原理详解
Dec 02 #Python
python return逻辑判断表达式实现解析
Dec 02 #Python
Python线程障碍对象Barrier原理详解
Dec 02 #Python
python 循环数据赋值实例
Dec 02 #Python
python创建n行m列数组示例
Dec 02 #Python
You might like
关于php fread()使用技巧
2010/01/22 PHP
使用PHP接收POST数据,解析json数据
2013/06/28 PHP
php+xml编程之SimpleXML的应用实例
2015/01/24 PHP
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
js实现图片在未加载完成前显示加载中字样
2014/09/03 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
2016/04/12 Javascript
AngularJS 作用域详解及示例代码
2016/08/17 Javascript
javascript this详细介绍
2016/09/19 Javascript
自己封装的一个简单的倒计时功能实例
2016/11/23 Javascript
jquery实现数字输入框
2017/02/22 Javascript
Vue使用vue-cli创建项目
2017/09/01 Javascript
不使用 JS 匿名函数理由
2017/11/17 Javascript
vue :src 文件路径错误问题的解决方法
2018/05/15 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
利用PyInstaller将python程序.py转为.exe的方法详解
2017/05/03 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
给分销商的致歉信
2014/01/14 职场文书
简单的辞职信范文
2014/01/18 职场文书
小学庆六一活动方案
2014/02/28 职场文书
企业管理毕业生求职信范文
2014/03/07 职场文书
毕业生自荐信格式
2014/03/07 职场文书
大学生应聘求职信
2014/05/26 职场文书
入党积极分子批评与自我批评思想汇报
2014/09/14 职场文书
四年级小学生评语
2014/12/26 职场文书
团支部书记竞选稿
2015/11/21 职场文书
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers