我有兩個發電機。首先發電機有時需要調用第二發電機產生回從那裏得到的值:打包/解包發電機
def a():
for _b in b():
yield _b
def b():
yield 1
yield 2
for _a in a():
print _a
有沒有更優雅的方式來做到這一點:
for _b in b():
yield _b
我已經試過這樣:
yield *b()
但肯定它不起作用。我有Python 2.6。
你實際上是否試圖從'b()'一次返回(yield)一切? – 2011-06-12 14:31:56
是的,我試圖在()來產生我從b()獲得的所有值。 – warvariuc 2011-06-12 15:43:36
'a()'是scrapy蜘蛛的回調函數(http://doc.scrapy.org/topics/spiders.html#topics-spiders) – warvariuc 2011-06-12 15:58:10