maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
两个字符串的长度必须相同,为一一对应的关系。
intab = "abcde"
outtab = "12345"
trantab = str.maketrans(intab, outtab)
str = "abcde"
print (str.translate(trantab))
结果为:12345
一个参数,该参数必须为字典;
d = {'a':'1','b':'2','c':'3','d':'4','e':'5'}
trantab = str.maketrans(d)
st='abcde'
print(st.translate(trantab))
输出结果:12345
两个参数 x 和 y,x、y 必须是长度相等的字符串,并且 x 中每个字符映射到 y 中相同位置的字符;
intab = "abcde"
outtab = "12345"
trantab = str.maketrans(intab, outtab)
str = "abcde"
print (str.translate(trantab))
结果为:12345
三个参数 x、y、z,第三个参数 z 必须是字符串,其字符将被映射为 None,即删除该字符;如果 z 中字符与 x 中字符重复,该重复的字符在最终结果中还是会被删除。也就是无论是否重复,只要有第三个参数 z,z 中的字符都会被删除。
intab = "abcde"
outtab = "12345"
d = "bd"
trantab = str.maketrans(intab,outtab,d)
str = "abcde"
print(str.translate(trantab))
结果为:135