Pythonでは、itertools.chain
を使用して複数のジェネレータを連結することができます。この関数は、複数のイテラブルを引数に取り、それぞれから順に要素を生成します。
以下に、itertools.chain
を使用した例を示します。
from itertools import chain
def generator1():
for item in 'abcdef':
yield item
def generator2():
for item in '123456':
yield item
generator3 = chain(generator1(), generator2())
for item in generator3:
print(item)
このコードでは、generator1
とgenerator2
という2つのジェネレータを定義し、それらをitertools.chain
を使用して連結しています。結果として得られるgenerator3
は、generator1
とgenerator2
の要素を順に生成します。
なお、itertools.chain
の戻り値はtypes.GeneratorType
のインスタンスではないことに注意が必要です。types.GeneratorType
のインスタンスを返す必要がある場合は、itertools.chain.from_iterable
を参照してください。
以上がPythonでジェネレータを連結する方法についての説明です。この情報がPythonのコーディングに役立つことを願っています。