我对Python中的生成器很陌生。我有一个非常简单的代码,但我无法理解它输出的结果。以下是我的代码:
def do_gen():
for i in range(3):
yield i
def incr_gen(y):
return y + 1
def print_gen(x):
for i in x:
print i
x = do_gen()
y = (incr_gen(i) for i in x)
print_gen(x)
print_gen(y)
我期望我的输出结果应该是这样的:
0 1 2
1 2 3
但我只看到:
0 1 2
我不理解这个输出。是否有人能帮我弄清楚我的理解不足呢?提前感谢。