Я хотел бы создать все комбинации определенной длины, используя набор разрешенных символов с заменой:
Я думал, что itertools.combinations_with_replacement
- это то, что мне нужно. Вот что я сделал:
from itertools import combinations_with_replacement
allowed = ['0', '1', '8', '6', '9']
comb = list(combinations_with_replacement(allowed,2))
И все же количество комбинаций, полученных таким образом, равно 15. Но оно должно быть 25 (5 ^ 2). Что происходит?
РЕДАКТИРОВАТЬ:
Я заменил combinations_with_replacement
на permutations
, как предложено @Michael Bianconi, но это тоже не сработало - я получил результирующий набор из 20, а не 25.