尝试理解生成器,我写道:
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...,我已经盯着它看了太久。请问我错过了什么?
for ... in
和.next()
,则每个步骤都会迭代两次 - 使用其中之一即可。 - jonrsharpe