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]]