我的问题是我需要以itertools.cycle列表形式从发电机交付批次.
A cycle采用可迭代的方式并无限期地将其循环.例如:
>>> my_cycle = itertools.cycle('abc')
>>> next(my_cycle)
'a'
>>> next(my_cycle)
'b'
>>> next(my_cycle)
'c'
>>> next(my_cycle)
'a'
Run Code Online (Sandbox Code Playgroud)
等等.
问题是,我们如何n从循环发生器提供批次长度列表,同时保留我们在循环中的位置?
期望的输出是:
c = itertools.cycle('abc')
batch_size = 2
Out[0]: ['a', 'b']
Out[1]: ['c', 'a']
Out[2]: ['b', 'c']
Run Code Online (Sandbox Code Playgroud)
我发布我的解决方案,以防有人遇到同样的问题.