generator()初始化新的生成器对象:
In [4]: generator() is generator() # Creating 2 separate objectsOut[4]: False
然后
generator().next()从新创建的生成器对象获取第一个值(在您的情况下为 0 )。
您应该致电
generator一次:
In [5]: gen = generator() # Storing new generator object, will reuse itIn [6]: [gen.next() for _ in range(6)] # Get first 6 values for demonstration purposesOut[6]: [0, 0, 0, 0, 0, 1]
注意
:
generator.next已从Python
3(PEP 3114)中删除-
改为使用该
next函数:
In [7]: next(gen)Out[7]: 1