Python 生成矩陣
- 2020 年 1 月 3 日
- 筆記
限定步長,起始數字,然後生成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]]
