擅长:python、mysql、java
<p>可以使用<code>itertools.permutations()</code>获取字符串的排列。然后通过应用一些替换逻辑,您可以得到以下结果:</p>
<pre><code>import itertools
def permutate(source, changeset):
count = sum(1 for char in source if char in changeset)
holder = ''.join('{}' if char in changeset else char for char in source)
for perm in set(itertools.permutations(changeset * count, count)):
print(holder.format(*perm))
permutate('XY000Y00', 'XY')
</code></pre>
<p>结果:</p>
<pre><code>XY000X00
XX000Y00
XY000Y00
XX000X00
YX000X00
YY000Y00
YX000Y00
YY000X00
</code></pre>