gpt4 book ai didi

python - 字符串与特定可变字符的组合

转载 作者:行者123 更新时间:2023-11-28 21:52:39 25 4
gpt4 key购买 nike

如何收集字符串的组合,其中某些字符(但不是全部)是可变的?

换句话说,我有一个输入字符串和一个字符映射。字符映射指定了哪些字符是可变的,以及它们可以被替换成什么。然后该函数会产生所有可能的组合。

为了说明这一点,我正在尝试收集可能被 OCR 引擎误解的 OCR 输出字符串的可能变体。

示例输入:

"ABCD"

示例字符映射:

dict(
B=("X", "Z"),
D=("E")
)

预期输出:

[
"ABCD",
"ABCE",
"AXCD",
"AXCE",
"AZCD",
"AZCE"
]

最佳答案

您可以使用 itertools.product :

>>> from itertools import product
>>> s = "ABCD"
>>> d = {"B": ["X", "Z"], "D": ["E"]}
>>> poss = [[c]+d.get(c,[]) for c in s]
>>> poss
[['A'], ['B', 'X', 'Z'], ['C'], ['D', 'E']]
>>> [''.join(p) for p in product(*poss)]
['ABCD', 'ABCE', 'AXCD', 'AXCE', 'AZCD', 'AZCE']

请注意,为了保持一致性,我制作了 d["D"] 列表而不是简单的字符串。

关于python - 字符串与特定可变字符的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27986559/

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