で同じ発電機の繰り返し次の簡単なジェネレータ考えてみましょう:チェーンのpython
def simple_gen():
for number in range(5):
yield number ** 2
を私はチェーンにユーザーitertools.repeat
とitertools.chain
に喜んn回発生装置自体に。明確にするために同じの次(非発電機)の例を検討:
array = [1,2,3,4]
repetitions = itertools.repeat(array ,2)
list(itertools.chain.from_iterable(repetitions)) -> [1,2,3,4,1,2,3,4]
を私が同じことをしたいが、配列の代わりに自分の発電機(simple_gen)を使用します。もちろん、itertools.repeat
が同じオブジェクトを繰り返すため、単純な置換が機能しないため、ジェネレータの次の繰り返しが使い果たされます。
itertoolsモジュールを使用してこれを達成する方法のいくつかのアイデアはありますか?
ジェネレータをリストまたは別のコンテナにキャストしたくありません。
ジェネレータの長さをご存知ですか?もしそうなら、 'itertools.cycle'を使うことができます。 –
いいえ、私は発電機の長さを知らない。 – Dargor