【发布时间】:2020-03-19 01:04:41
【问题描述】:
我正在尝试创建一个可以为一个单词生成所有可能的组合的东西,直到 4 个字符。
例如将以 a,b,c...aa,ab,ac...aaa,aab,aac...aaaa,aaab,aaac....zzzx,zzzy,zzzz 开头
我最接近的东西是:
import itertools
for i in range(4):
for combination in itertools.combinations('abcdefghijklmnopqrstuvwxyz-([{0123456789', i):
word = str(combination).replace("'", '').replace("(", '').replace(")", '').replace(" ", '').replace(",", '')
print(word)
问题在于,它不会创建具有相同字符的组合,例如 aa、bb、cc。
【问题讨论】:
-
完全相同的代码 - 将
combinations替换为combinations_with_replacement: docs.python.org/2/library/… -
刚刚注意到。它并不能提供一切。如您所见,例如没有 (b,a,a)。
-
你应该使用
itertools.product然后 -combinations暗示不相关的顺序。
标签: python-3.x