【发布时间】:2015-05-10 16:33:01
【问题描述】:
我在 python 中有一个字符串和一个“规则”字典,或者可能对字符串进行更改。例如,一个规则可能有一个键 'he' 和一个值 'e',或者一个键 'll' 和一个值 'l'。
这些规则意味着我的字符串中任何出现的“'he'都可以替换为'e','ll'和'l'也是如此。
我想要的是找到我的字符串的所有变体,给定这个规则字典。例如,使用上面的两条规则和字符串'hello',我想返回:
['hello', 'ello', 'helo', 'elo']
感谢任何帮助,谢谢!
【问题讨论】:
-
使用规则 e=>ee 查找所有结果
-
@StefanPochmann 如果这是唯一的规则,我希望 ['hello', 'heello']。使用所有三个规则,它将是 ['hello', 'ello', 'helo', 'elo', 'heello', 'eello', 'heelo', 'eelo']。
-
@Clayton @StefanPochmann 有一点:如果您允许将规则应用于规则的结果,例如您的示例中的
hello -> ello -> eello,则必须考虑无限循环。在您的评论中,您隐含地假定您不能将规则e -> ee应用到多个,否则您最终会得到无限的结果:hello, heello, heeello, heeeello, ...。可以使用多个规则构造一个类似的示例:e -> ef, f -> e。
标签: python string combinations variations