在Python中不重复计算排列

Cer*_*rin 4 python python-itertools

我有两个项目列表:

A = 'mno'
B = 'xyz'
Run Code Online (Sandbox Code Playgroud)

我想生成所有排列,无需替换,模拟将A中项目的所有组合替换为B中的项目,而不重复.例如

>>> do_my_permutation(A, B)
['mno', 'xno', 'mxo', 'mnx', 'xyo', 'mxy', 'xyz', 'zno', 'mzo', 'mnz', ...]
Run Code Online (Sandbox Code Playgroud)

这对我来说是直截了当的,但是我知道Python的starndard itertools模块,我相信它可能已经实现了这一点.但是,我无法识别实现此确切行为的函数.我可以用这个模块来完成这个功能吗?

ely*_*ely 7

这是你需要的:

["".join(elem) for elem in itertools.permutations(A+B, 3)]
Run Code Online (Sandbox Code Playgroud)

如果您希望将相同三个字母的所有排序折叠成单个项目(例如,这样,并且不会各自单独出现在输出中)permutations,combinations则替换为.'mxo''mox'