0

我需要将如下所示的字符串翻译TAGGGCfa( TAG->f, GGC->a,其中加密的值不仅可以是字母,还可以是一些特殊字符)。我知道,string.maketrans()translate()这些仅适用于 1-1 解码。

在这种情况下我可以使用任何其他本机 Python 模块/函数还是应该只编写自己的函数?

4

2 回答 2

0

你有没有尝试过:

mystring.replace("TAG","f").replace("GGC","a")

如果有额外的限制,那么您可能需要依靠re.sub

于 2013-02-04T16:11:22.923 回答
0

如果它比您的示例更复杂,您可以定义一个基于re.subdict 的小函数作为输入。

In [98]: def repl(d, s):
     ...:     p = re.compile('|'.join(d))
     ...:     return p.sub(lambda m:d[m.group()], s)

In [99]: d = {'TAG':'f',
              'GGC':'a'}

In [100]: repl(d,'TAGGGC')
Out[100]: 'fa'
于 2013-02-04T16:35:03.353 回答