为了理解生成器,我写道:
def counter():
n = 1
while n <= 10:
yield n
n += 1
如果我再手动输入
c = counter()
…之后反复
print c.next()
我得到1,2,3,依此类推.但是如果我跑步
for i in c:
print c.next()
我得到2,4,6,8 …我凝视了太久了.我想念什么?
解决方法:
.next()在您刚刚创建的生成器上进行迭代,就像您做的一样
for i in c
这就是为什么第二种方法中只有对号
只需输入:
for i in c:
print i