所以我一直在尝试使用置换库在python中置换一些字母,但是我看到它只返回给定的字母,所以没有字母是重复的,如果我有字母a,b和c,置换将是如下。
abc
acb
bac
bca
cab
cba
现在我一直在尝试一种我认为更深入的方式,所以我喜欢它。
aaa
aab
aac
aba
abc
abc
aca
在python中有正确的方法吗? 可能是我错了,但这就是我的看法。
求解后编辑:
想知道我尝试了什么的人们使用了itertools库的置换部分:
>>>print([x for x in itertools.permutations('1234')])
>>>[('1', '2', '3', '4'), ('1', '2', '4', '3'), ('1', '3', '2', '4') ... ]
答案 0 :(得分:0)
也许您想要类似itertools.product
from itertools import product
print(list(product('abc', repeat = 3)))
# [('a', 'a', 'a'), ('a', 'a', 'b'), ('a', 'a', 'c'), ('a', 'b', 'a'), ('a', 'b', 'b'), ('a', 'b', 'c'), ('a', 'c', 'a'), ('a', 'c', 'b'), ('a', 'c', 'c'), ('b', 'a', 'a'), ('b', 'a', 'b'), ('b', 'a', 'c'), ('b', 'b', 'a'), ('b', 'b', 'b'), ('b', 'b', 'c'), ('b', 'c', 'a'), ('b', 'c', 'b'), ('b', 'c', 'c'), ('c', 'a', 'a'), ('c', 'a', 'b'), ('c', 'a', 'c'), ('c', 'b', 'a'), ('c', 'b', 'b'), ('c', 'b', 'c'), ('c', 'c', 'a'), ('c', 'c', 'b'), ('c', 'c', 'c')]