Python:maketrans/translate相当于将3个字符代码解码为1个ch

2024-09-30 10:38:27 发布

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

我需要将如下所示的字符串:TAGGGC转换为faTAG->fGGC->a,其中加密值不仅可以是字母,还可以是一些特殊字符)。我知道string.maketrans()和{},但这些只适用于1-1解码。在

在这种情况下,有没有其他本机Python模块/函数可以使用,还是应该自己编写函数?在


Tags: 模块函数字符串stringtag字母情况解码
2条回答

您是否尝试过:

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

如果还有其他约束,那么您可能需要回到re.sub

{1}你可以定义一个比你的输入更复杂的例子。在

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'

相关问题 更多 >

    热门问题