itertools.chain to create a single generator which will yield the values from several generators in sequence.
from itertools import chain a = (x for x in ['1', '2', '3', '4']) b = (x for x in ['x', 'y', 'z']) ' '.join(chain(a, b))
'1 2 3 4 x y z'
As an alternate constructor, you can use the classmethod
chain.from_iterable which takes as its single parameter an iterable of iterables. To get the same result as above:
chain can take an arbitrary number of arguments,
chain.from_iterable is the only way to chain an infinite number of iterables.