假设我有字符串,s='AADD'
. 我使用more_itertools
了不同的排列,它会打印出(AADD,ADDA,DDAA,ADAD,DADA,DAAD)
.
我的问题是,因为AADD
and DDAA
, ADAD
andDADA
本质上是彼此的镜像,我想摆脱其中一个,我应该如何修改我的代码来实现这一点?
import more_itertools
s = 'AADD'
#counting = 0
for i in more_itertools.distinct_permutations(s):
print(''.join(i))
#counting += 1
更新:关于大量数据处理,我还有另一个问题。假设我的字符串“s”有 50 个字母而不是 4 个,我想知道“more_itertools”中的“distinct_permutation”是否是最有效的方法?我用 Mathematica 计算了所有可能的组合,有超过 10 亿种可能的组合,我想知道是否有更快的方法来完成这项任务。如果这个问题很愚蠢,请提前道歉,因为我没有参加任何编码课程,并且在做项目的同时正在学习自己编码。