Python 如何通过使用字典替换字符串中的字符来查找字符串的可能组合?
我试图找到字符串的所有可能组合,同时使用字典替换字符串中的一些字符。我必须在不导入任何模块的情况下实现这一目标。以下是一个例子:Python 如何通过使用字典替换字符串中的字符来查找字符串的可能组合?,python,Python,我试图找到字符串的所有可能组合,同时使用字典替换字符串中的一些字符。我必须在不导入任何模块的情况下实现这一目标。以下是一个例子: myDict = {'R':'AG', 'Y':'CT', 'M':'CA', 'G':'G', 'D':'ATG', 'A':'A'} myString = "ARD" 所以我想用上面的字典写出myString的所有可能组合,应该是“AAA”,“AAT”,“AAG”,“AGA”,“AGT”,“AGG” 我不知道如何迭代字符串中的每个字符,然后将它们放入列表或其他
myDict = {'R':'AG', 'Y':'CT', 'M':'CA', 'G':'G', 'D':'ATG', 'A':'A'}
myString = "ARD"
所以我想用上面的字典写出myString的所有可能组合,应该是“AAA”,“AAT”,“AAG”,“AGA”,“AGT”,“AGG”
我不知道如何迭代字符串中的每个字符,然后将它们放入列表或其他什么东西中 IMO OP的描述有点模糊,但足够清楚 这听起来像是一个测试递归技巧的简单面试问题。查看答案(假设myDict的值没有重复) 屏幕输出:
['AAA', 'AAT', 'AAG', 'AGA', 'AGT', 'AGG']
感谢@stanleyli读了这篇文章
>>> map(''.join, itertools.product(*map(myDict.get, myString)))
['AAA', 'AAT', 'AAG', 'AGA', 'AGT', 'AGG']
请编辑您的帖子,说明如何将
ARD
转换为这六条字符串中的每一条(myString),然后您可以使用itertools.compositions,欢迎使用StackOverflow。请阅读并遵循帮助文档中的发布指南。适用于这里。在您发布代码并准确描述问题之前,我们无法有效地帮助您。哇,您解密了OP:-)。不过,您的recus
应该是recr
。太棒了!非常感谢你的回答!我今天要试试这个!
>>> map(''.join, itertools.product(*map(myDict.get, myString)))
['AAA', 'AAT', 'AAG', 'AGA', 'AGT', 'AGG']