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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值