Python 矩陣轉置的幾種方法小結
阿新 • • 發佈:2020-01-09
我就廢話不多說了,直接上程式碼吧!
#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 矩陣轉置的幾種方法小結就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。