python3: yield from
Python 3: Using "yield from" in Generators - Part 1
yield from 后面跟一个generator。
def generator2():
for i in range(4):
yield i
def generator3():
for j in range(4, 8):
yield j
def generator():
for i in generator2():
yield i
for j in generator3():
yield j
for i in generator():
print(i)
运行结果如下:
$ python3 test.py
0
1
2
3
4
5
6
7
可以用yield from简化代码:
def generator2():
for i in range(4):
yield i
def generator3():
for j in range(4, 8):
yield j
def generator():
yield from generator2()
yield from generator3()
for i in generator():
print(i)