【发布时间】:2015-03-20 10:18:15
【问题描述】:
def list_step(max = 268):
""" split in steps of 120 elements at time
"""
if max > 120:
for i in xrange(0,max,120):
if i <= max:
rest = max % xrange(0,max,120)[-1]
if rest != 120:
yield(i, rest)
else:
yield(i, 0)
else:
yield(max)
a = list_step()
a.next() return > (0,28) (120,28),ecc
是否有可能在执行最后一个 next() 时返回其余部分,而不是返回带有其余部分的元组?
这样:
a.next() return > (0) (120),ecc.. (28)
【问题讨论】:
-
不清楚你的意思 - 你能举几个简短的、有代表性的例子来说明这在口译会话中的样子吗?
-
你能给出你为什么/如何使用它的上下文吗?在我看来,
zip(xrange(0,max,120), [max % 120]*max)也会这样做。您可以使用itertools.chain来调用迭代器。