在Python中嵌套同一生成器的实例

2024-04-24 08:52:28 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一台发电机:

def mygen():
    for i in range(10):
        yield i

这和我预期的一样:所有ij的组合

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(),我会得到一个错误,因为没有数据了。你知道吗

我正在运行python2.7.1。你知道吗


Tags: 数据infordef错误range发电机例子
1条回答
网友
1楼 · 发布于 2024-04-24 08:52:28

第一次迭代g2会消耗它,所以当您尝试在以后的时间里迭代它时,就什么都没有了。你知道吗

g1 = mygen()
for i in g1:
    g2 = mygen()
    for j in g2:
        print i, j

相关问题 更多 >