从python中的输入生成组合

2024-04-19 22:49:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道如何在Python中实现这一点。在寻找这一点时,我遇到了itertools,但我不确定如何在这种情况下应用它。在

我要做的是创建一个脚本,它可以接受包含查询标记的字符串输入(比如AB?D?)以及一组选项(ABC,DEF)来输出所有可能的组合,如下所示。在

ABADD,    ABADE,    ABADF
ABBDD,    ABBDE,    ABBDF
ABCDD,    ABCDE,    ABCDF

在搜索过程中,我还找到了this,但我不完全确定如何才能在我的输入中实现这一点。在

将输入字符串分解为问号周围的多个子字符串(因此上面的示例变成AB+)是否最有效?+D+?)。像列表之类的东西适合这个吗?在

提前感谢您的帮助。在


Tags: 字符串标记脚本abdef选项情况abc
1条回答
网友
1楼 · 发布于 2024-04-19 22:49:24

可以使用^{}获取组合,使用^{}将这些组合合并到模板字符串中。(首先,将?替换为{},得到{a3}。)

def combine(template, options):
    template = template.replace('?', '{}')
    for opts in itertools.product(*options):
        yield template.format(*opts)

示例:

^{pr2}$

相关问题 更多 >