【发布时间】:2018-08-11 08:22:28
【问题描述】:
我的问题是我需要从itertools.cycle 生成器以列表形式交付批次。
cycle 接受一个可迭代对象并无限期地围绕自身循环。例如:
>>> my_cycle = itertools.cycle('abc')
>>> next(my_cycle)
'a'
>>> next(my_cycle)
'b'
>>> next(my_cycle)
'c'
>>> next(my_cycle)
'a'
等等。
问题变成了,我们如何从循环生成器中提供一个批处理长度列表n,同时保留我们在循环中的位置?
期望的输出是:
c = itertools.cycle('abc')
batch_size = 2
Out[0]: ['a', 'b']
Out[1]: ['c', 'a']
Out[2]: ['b', 'c']
如果有人遇到同样的问题,我会发布我的解决方案。
【问题讨论】:
-
@AK47 改写,谢谢建议
标签: python python-3.x itertools cycle