【发布时间】:2020-01-30 18:57:08
【问题描述】:
我想通过使用一组允许替换的字符来生成一定长度的所有组合:
我认为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)。怎么回事?
编辑:
按照@Michael Bianconi 的建议,我用permutations 替换了combinations_with_replacement,但它也不起作用 - 我得到的结果集是 20,而不是 25。
【问题讨论】:
-
组合与排列?
-
组合,而不是排列,因为排序无关紧要。
-
好的,因为有 15 种组合,但有 25 种排列。
标签: python-3.x combinations combinatorics