Python3中字符串的.maketrans()方法可以用于创建字符映射转换表。 一般来说接受两个参数,第一个参数是字符串,表示需要转换的字符,第二个参数第转换的目标。两个字符串的长度必须相同,是一一对应的。比如:
# python3
rule = str.maketrans('abcd', '1234')
print('aaac'.translate(rule))
# python2
import string
rule = string.maketrans('abcd', '1234')
print('aaac'.translate(rule))
输出:1113
这里需要注意的是,在python2和3中用法并不完全相同,python2中需导入string模块。
一般常接触的.maketrans()方法是在”得到一段DNA序列的反向互补序列”的时候,如果不用.maketrans()的话写法会比较冗余。如果用的话会很简洁:
def trans_seq(sequence):
rule = str.maketrans('ACGTacgt', 'TGCAtgca')
new_seq = sequence.translate(rule)
return new_seq[::-1]