欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 矩陣轉(zhuǎn)置的幾種方法小結(jié)

 更新時(shí)間:2019年12月02日 15:22:22   作者:雪山007  
今天小編就為大家分享一篇Python 矩陣轉(zhuǎn)置的幾種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,直接上代碼吧!

#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("第二種方法的簡潔代碼展示")
printmatrix(zip(*matrix))#為了代碼更簡潔,可以不用transformMatrix1函數(shù),直接打印
print("第三種方法的結(jié)果展示")
printmatrix(transformMatrix2(matrix))

以上這篇Python 矩陣轉(zhuǎn)置的幾種方法小結(jié)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論