Python 生成矩陣

限定步長,起始數字,然後生成x行,y列的矩陣

>>> def range2rect(x,y,start=0,step=1):
... 	N=[]
... 	F=[]
... 	for i in range(x):                  #等價於for(i=0,i<x,i++)
... 		for j in range(y):
... 			F.append(start)
... 			start += step
... 		N.append(F)
... 		F=[]
... 	return N
... 
>>> N=range2rect(3,4)
>>> N
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]

由一個元組形式生成矩陣

>>> def tuple2rect(tuple,x,y):
... 	res=[]
... 	row=count=0
... 	for i in tuple:
... 		count += 1
... 		res.append(i)
... 		if count%y ==0:
... 			yield res
... 			res=[]
... 			row += 1
... 		if row == x:		#一旦達到所要求的行數,就結束循環
... 			break
... 
>>> rect=[]
>>> for i in tuple2rect((1,2,3,3,4,5,5,6,7,8),2,3):
... 	rect.append(i)
... 
>>> rect
[[1, 2, 3], [3, 4, 5]]



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章