itertools.product
Возвращает генератор, выдающий «декартово произведение» для элементов указанных объектов.
itertools.product(*iterables, repeat=1)
-> generator
*iterables -- Объекты, поддерживающие итерирование по своим элементам.
repeat=1 -- Количество повторов. Используется для получения произведения указанного объекта на самого себя.
repeat=1 -- Количество повторов. Используется для получения произведения указанного объекта на самого себя.
from itertools import product
list(product([1, 2], [3, 4]))
# [(1, 3), (1, 4), (2, 3), (2, 4)]
list(product('abc', 'd'))
# [('a', 'd'), ('b', 'd'), ('c', 'd')]
list(product('abc', 'd', 'ef'))
# [('a', 'd', 'e'), ('a', 'd', 'f'), ('b', 'd', 'e'),
# ('b', 'd', 'f'), ('c', 'd', 'e'), ('c', 'd', 'f')]
list(product('zx'))
# [('z',), ('x',)]
list(product('zx', repeat=2))
# [('z', 'z'), ('z', 'x'), ('x', 'z'), ('x', 'x')]
Внимание
Перед вычислением результата функция полностью «вычитывает» в память элементы переданных в неё объектов. Поэтому использование функции целесообразно лишь для последовательностей, имеющих конец.
Синонимы поиска: itertools.product, itertools, product
В разделе «itertools»:
itertools.accumulate
itertools.chain
itertools.compress
itertools.count
itertools.cycle
itertools.dropwhile
itertools.filterfalse
itertools.groupby
itertools.ifilter
itertools.ifilterfalse
itertools.imap
itertools.islice
itertools.repeat
itertools.starmap
itertools.takewhile
itertools.tee
На заметку
У нас есть представительство во ВКонтакте. Ссылка в самом низу страницы.