-
慕勒3428872
使用切片。>>> 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]]
-
慕容3067478
尝试: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这样的切片来说明。
-
波斯汪
大概的解决办法是这样的:]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 newlistprint(group([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], 3))结果:[[1、2、3],[4、5、6],[7、8、9],[10、11]]