ジェネレータを平滑化して別のジェネレータまたはiteables(別のジェネレータ/ iterablesを生成する可能性があります...無限大になる可能性があります)を生成するPython関数を記述する方法を知りたいと思います。ここ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
+1 - 私は 'yield from'を忘れています。これは素晴らしい思い出です。 –
@JonClements:まだリリースされていないPythonバージョンの機能を "忘れてしまいますか?"私は驚いている。 :) –