我想知道如何编写Python函数来展开生成器,该生成器会生成另一个生成器或可迭代对象(也可以生成另一个生成器/可迭代对象...可能是无穷的)。
以下是示例:
gen(gen(1,2,3), gen(4,5,6), [7,8,9], [gen(10,11,12), gen(13,14,15)])
注意: gen
- 是生成器对象,括号内是gen
所生成的数据。
预期的“展开”后结果为:gen(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
展开函数必须返回生成器!(否则,前面使用生成器将毫无意义)。
请注意,我正在使用Python 3。
谢谢!
yield from
,这是一个很好的提醒。 - Jon Clements