Python 生成矩阵

发布时间:2019-09-25 08:14:36编辑:auto阅读(2237)

    限定步长,起始数字,然后生成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]]



关键字