Цепочки итераторов

Иногда необходимо использовать нескольков итераторов. И независимо, и цепочкой один за другим. Для объединения итераторов ис

Например, мы хотим использовать для отрисовки игральных карт независимые итераторы обозначений в углу поля карты:

>>> num_cards = [str(i) for i in range(2, 11)]
>>> face_cards  = ['В', 'Д', 'К', 'Т']
>>> list(itertools.chain(num_cards, face_cards))
['2', '3', '4', '5', '6', '7', '8', '9', '10', 'В', 'Д', 'К', 'Т']

С помощью itertools.chain() также можно добавлять отдельные элементы в начало итератора:

>>> def prepend(value, iterator):
...    return itertools.chain([value], iterator)
...
>>> list(prepend(1, [2, 3, 4]))
[1, 2, 3, 4]

пользуйте itertools.chain(*iterables).