我需要将如下所示的字符串翻译TAGGGC
成fa
( TAG->f
, GGC->a
,其中加密的值不仅可以是字母,还可以是一些特殊字符)。我知道,string.maketrans()
但translate()
这些仅适用于 1-1 解码。
在这种情况下我可以使用任何其他本机 Python 模块/函数还是应该只编写自己的函数?
你有没有尝试过:
mystring.replace("TAG","f").replace("GGC","a")
如果有额外的限制,那么您可能需要依靠re.sub
如果它比您的示例更复杂,您可以定义一个基于re.sub
dict 的小函数作为输入。
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'