3 回答
TA贡献1848条经验 获得超6个赞
使用切片。
>>> def group(l, size):
... return [l[i:i+size] for i in range(0, len(l), size)]
...
>>> group([1, 2, 3, 4, 5, 6, 7, 8, 9], 3)
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
TA贡献1773条经验 获得超3个赞
尝试:
def group(l,size):
length = len(l)
new = []
for i in range(0, length/size):
new.append([])
for i in range(0,len(new)):
for j in range(i*size,(i*size)+size):
new[i].append(l[i+j])
print new
编辑:不,不要这样做。使用像falsetru这样的切片来说明。
TA贡献1811条经验 获得超4个赞
大概的解决办法是这样的:]
def group(l,size):
length = len(l)
newlist = []
newgroup = []
j = 0
for i in range(0,length):
if(j<size - 1):
j += 1
newgroup.append(l[i])
else:
j = 0
newgroup.append(l[i])
newlist.append(newgroup)
newgroup = []
if(newgroup != []):
newlist.append(newgroup)
return newlist
print(group([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], 3))
结果:[[1、2、3],[4、5、6],[7、8、9],[10、11]]
添加回答
举报