我有两个函数(生成器)。
def a():
yield 1
yield 2
def b():
yield 'A'
yield 'B'
yield a()
现在我想遍历 b() 并期望它应该输出 A B 1 2。但不是。它给了这个。
In [11]: for i in b():
....: print i
....:
A
B
<generator object a at 0x10fc3ddc0>
如何获得所需的输出?
请您参考如下方法:
在python3.3+上,可以使用yield from :
def b():
yield 'A'
yield 'B'
yield from a()
在python3.3之前的版本中,需要在循环中显式地产生值:
def b():
yield 'A'
yield 'B'
for item in a():
yield item
