当前版本:
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
最佳答案
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)
关于python - 使用迭代器实现 Chop(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3143371/