我想知道如何编写python函数,它可以使生成器变平,从而产生另一个生成器或可迭代对象(它也可以产生另一个生成器/可迭代对象......可能无限)。
这是示例:
gen(gen(1,2,3), gen(4,5,6), [7,8,9], [gen(10,11,12), gen(13,14,15)])
注意:gen
- 表示生成器对象,括号之间的内容gen
是生成器生成的数据gen
。
“扁平化”后的预期结果:
gen(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
flatten 函数也必须返回生成器!(因为否则,生成器的前面使用将毫无意义)。
请注意,我使用的是 python 3。
谢谢!