当前版本:
def chop(ar,size):
p=len(ar)/size
for i in xrange(p):
yield ar[(i*size):((i+1)*size)]
ar是list()的类型。
我想要的是chop()接受迭代器并返回迭代器。
for i in chop(xrange(9),3):
for j in i:
print j,
print
打印
0 1 2
3 4 5
6 7 8
答案 0 :(得分:2)
itertools
documentation中有一个实现:
def grouper(n, iterable, fillvalue=None):
"grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
args = [iter(iterable)] * n
return izip_longest(fillvalue=fillvalue, *args)