说我有一台发电机:
def mygen():
for i in range(10):
yield i
这正如我所料:i
和j
for i in mygen():
for j in mygen():
print i, j
我认为这些是不同的例子。他们为什么不作为不同的实例?
g1 = mygen()
g2 = mygen()
for i in g1:
for j in g2:
print i, j
如果我尝试g1.next()
,我会收到错误,因为没有数据。
我正在运行Python 2.7.1。
答案 0 :(得分:9)
第一次迭代g2
消耗它,所以当你试图在随后的时间迭代它时,什么也没有留下。
g1 = mygen()
for i in g1:
g2 = mygen()
for j in g2:
print i, j