Python Glossary English

все Python 3itertoolsфункция

itertools.combinations_with_replacement

itertools

Сочетания длины r с повторами элементов.

Синтаксис

itertools.combinations_with_replacement(iterable, r)

Отличие от combinations — один и тот же элемент можно взять несколько раз (кортежи неубывающие по позиции). От product(it, repeat=r) отличается тем, что не даёт переставленных дубликатов: только сочетания без учёта порядка, поэтому результатов C(n+r-1, r), а не n в степени r.

Примеры

import itertools
print(list(itertools.combinations_with_replacement([1, 2], 2)))   # → [(1, 1), (1, 2), (2, 2)]
print(list(itertools.combinations_with_replacement('ab', 3)))   # → [('a', 'a', 'a'), ('a', 'a', 'b'), ('a', 'b', 'b'), ('b', 'b', 'b')]
print(len(list(itertools.combinations_with_replacement(range(6), 2))))   # → 21
print(list(itertools.combinations([1, 2], 2)))   # → [(1, 2)]
print(list(itertools.combinations_with_replacement([], 2)))   # → []

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности