gpt4 book ai didi

python - 可能替换的所有版本

转载 作者:行者123 更新时间:2023-11-28 16:30:11 24 4
gpt4 key购买 nike

我有一个小问题:

例如,我们有字符串'YXY00''Y' 的每个 'X' 都可以分别替换为 'Y''X'。在此示例中,我们有 2^3 = 8 个替换选项,例如:

YXY00
YXX00
YYY00
YYX00
XXY00
XXX00
XYY00
XYX00

我怎样才能用 Python 3.x 获得这个替代品?

最佳答案

您可以使用 itertools.permutations() 获取字符串的排列。然后通过应用一些替换逻辑,您可以得到以下结果:

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')

结果:

XY000X00
XX000Y00
XY000Y00
XX000X00
YX000X00
YY000Y00
YX000Y00
YY000X00

关于python - 可能替换的所有版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32768943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com