我有一堂课,其中包含itertools.cycle
我希望能够复制的实例。一种方法(我能想到的唯一方法)是提取初始可迭代对象(这是一个列表),并存储循环所在的位置。
不幸的是,我无法获取用于创建循环实例的列表,似乎也没有明显的方法来做到这一点:
import itertools
c = itertools.cycle([1, 2, 3])
print dir(c)
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__',
'__hash__', '__init__', '__iter__', '__new__', '__reduce__',
'__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__',
'__subclasshook__', 'next']
我可以想出一些合理的理由来解释为什么对于某些类型的输入迭代来说这是不允许的,但是对于元组甚至列表(可变性可能是一个问题),我不明白为什么它不会可能的。
有谁知道if可以从一个中提取非无限迭代itertools.cycle
实例。如果没有的话有人知道吗why这个想法是坏的吗?