【发布时间】:2014-03-13 17:01:46
【问题描述】:
def sp():
i = 0
while True:
for j in range(i):
yield(j)
i+=1
这个生成器应该是yield(0, i) 的range 中的所有整数,但它会在每次调用next() 时不断返回0。为什么?
谢谢。
【问题讨论】:
-
你不能只做
sp().next()。您需要实例化 (?) 生成器:s=sp(); s.next(); s.next();... -
但是如果你只想要 0, 1, 2, ... 那么你不想要
range(i)电话。