1. 程式人生 > 程式設計 >Python 矩陣轉置的幾種方法小結

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 矩陣轉置的幾種方法小結就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。