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

yipeiwu_com6年前Python基础

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

#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三方库之requests的快速上手

本文基于2.21.0 发送请求 发送GET请求: r = requests.get('https://api.github.com/events') 发送POST请求: r...

python config文件的读写操作示例

本文实例讲述了python config文件的读写操作。分享给大家供大家参考,具体如下: 1、设置配置文件 [mysql] host = 1234 port = 3306 user...

Python Requests库基本用法示例

本文实例讲述了Python Requests库基本用法。分享给大家供大家参考,具体如下: requests是python的一个http client库,提供了一套简捷的API供开发者使用...

Python cx_freeze打包工具处理问题思路及解决办法

以下是在使用cx_freeze过程中遇到的问题及解决办法(Win7) 1.问题描述:运行exe,启动无数个主程序,导致系统无法使用     原因:在程序中使用了multiprocess...

python版本的仿windows计划任务工具

python版本的仿windows计划任务工具

计划任务工具-windows 计划任务工具根据自己设定的具体时间,频率,命令等属性来规定所要执行的计划。 效果图 代码 # -*- coding: utf-8 -*- """ M...