我正在使用itertools
库中的permutations
函数打印字符串的排列列表。在本例中,它是baca
。但是,输出列表中有每个元素的副本。这是:
['aabc', 'aabc', 'aacb', 'aacb', 'abac', 'abac', 'abca', 'abca', 'acab', 'acab', 'acba', 'acba', 'baac', 'baac', 'baca', 'baca', 'bcaa', 'bcaa', 'caab', 'caab', 'caba', 'caba', 'cbaa', 'cbaa']
这是我的密码。这很直截了当。我在代码中没有看到任何会产生这种行为的东西
from itertools import permutations
def rearrangeWord(word):
p = [''.join(i) for i in permutations(word) ]
print(sorted(p))
rearrangeWord('baca')
如果先对单词进行排序(这要便宜得多),则无需在之后进行排序:
multiset_permutations可以找到具有多个项的排列
您正在复制所有“aa”排列
相关问题 更多 >
编程相关推荐