溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中實(shí)現(xiàn)矩陣轉(zhuǎn)置的方法有哪些

發(fā)布時(shí)間:2021-02-26 16:18:55 來源:億速云 閱讀:281 作者:戴恩恩 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Python中實(shí)現(xiàn)矩陣轉(zhuǎn)置的方法有哪些,此處通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考價(jià)值,需要的朋友可以參考下:

python可以做什么

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)文章希望大家以后多多支持億速云!

向AI問一下細(xì)節(jié)

免責(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)容。

AI