您好,登錄后才能下訂單哦!
這篇文章主要介紹了Python中實(shí)現(xiàn)矩陣轉(zhuǎn)置的方法有哪些,此處通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考價(jià)值,需要的朋友可以參考下:
Python是一種編程語(yǔ)言,內(nèi)置了許多有效的工具,Python幾乎無所不能,該語(yǔ)言通俗易懂、容易入門、功能強(qiáng)大,在許多領(lǐng)域中都有廣泛的應(yīng)用,例如最熱門的大數(shù)據(jù)分析,人工智能,Web開發(fā)等。
#Python的matrix轉(zhuǎn)置 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、利用元祖的特性進(jìn)行轉(zhuǎn)置 def transformMatrix(m): #此處巧妙的先按照傳遞的元祖m的列數(shù),生成了r的行數(shù) r = [[] for i in m[0]] for ele in m: for i in range(len(ele)): #【重點(diǎn)】:此處利用m的第ele行i列,并將該值追加到r的i行上;巧妙的利用了i r[i].append(ele[i]) #printmatrix(r)#方便查看數(shù)組是怎么賦值的,如不需要可注釋掉 #print("*"*20)#打印分隔符 return r #2、利用zip函數(shù)生成轉(zhuǎn)置矩陣 def transformMatrix1(m): return zip(*m) #3、利用numpy模塊的transpose方法 def transformMatrix2(m): import numpy return numpy.transpose(m).tolist() print("第一種方法結(jié)果展示") printmatrix(transformMatrix(matrix)) print("第二種方法結(jié)果展示") printmatrix(transformMatrix1(matrix)) print("第二種方法的簡(jiǎn)潔代碼展示") printmatrix(zip(*matrix))#為了代碼更簡(jiǎn)潔,可以不用transformMatrix1函數(shù),直接打印 print("第三種方法的結(jié)果展示") printmatrix(transformMatrix2(matrix))
到此這篇關(guān)于Python中實(shí)現(xiàn)矩陣轉(zhuǎn)置的方法有哪些的文章就介紹到這了,更多相關(guān)Python中實(shí)現(xiàn)矩陣轉(zhuǎn)置的方法有哪些的內(nèi)容請(qǐng)搜索億速云以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持億速云!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。