我想知道如何編寫python函數,它可以使生成器產生另一個生成器或迭代器(它也可以產生另一個生成器/ iterables ...可能是無限的)。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)
這是必要的扁平化函數返回發電機呢! (因爲否則,發電機的先前使用將毫無意義)。
請注意,我使用python 3.
謝謝!
非常感謝!隨着我的嘗試,我非常接近你的:-)問候! – JoshuaBoshi 2012-07-16 11:28:38
+1 - 我一直忘記'從'產量,這是一個很好的提醒。 – 2012-07-16 11:40:36
@JonClements:你「忘記」一個Python版本的功能,至今尚未發佈?我很驚訝。 :) – 2012-07-16 12:15:34