Python3 maketrans()方法
描述
maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
两个字符串的长度必须相同,为一一对应的关系。
注:Python3.4 已经没有 string.maketrans() 了,取而代之的是内建函数: bytearray.maketrans()、bytes.maketrans()、str.maketrans() 。
语法
maketrans()方法语法:
str.maketrans(intab, outtab)
参数
- intab -- 字符串中要替代的字符组成的字符串。
- outtab -- 相应的映射字符的字符串。
返回值
返回字符串转换后生成的新字符串。
实例
以下实例展示了使用maketrans() 方法将所有元音字母转换为指定的数字:
#!/usr/bin/python3 intab = "aeiou" outtab = "12345" trantab = str.maketrans(intab, outtab) str = "this is string example....wow!!!" print (str.translate(trantab))
以上实例输出结果如下:
th3s 3s str3ng 2x1mpl2....w4w!!!
Hen9
yyh***@qq.com
str.maketrans(x[, y[, z]]) 静态方法
给方法 str.translate() 创建字符映射 dict;只有一个参数时,必须是 Unicode序数(整数)或字符(长度为 1 的 String,会被转换为 Unicode 序数)映射到 Unicode 序数(整数)、任意长度字符串、None 的 dict 字典;如果有两个参数 xy,则必须是等长字符串,x 中字符映射到 y 中相同位置的字符,映射字典中 key 和 value 是单个字符转换的 Unicode 序数,如果 x 中存在重复字符则取用索引较大的字符来映射;第三个参数 z 必须为字符串,其字符都会映射到 None,z 可以不与 xy 等长,如果 z 与 x 中字符重复则优先映射到 None 而不映射到 y。
Hen9
yyh***@qq.com
weilangzai
102***7969@qq.com
参考地址
补充上面知识点的例子:
1)一个参数,该参数必须为字典
2)两个参数 x 和 y,x、y 必须是长度相等的字符串,并且 x 中每个字符映射到 y 中相同位置的字符
三个参数 x、y、z,第三个参数 z 必须是字符串,其字符将被映射为 None,即删除该字符;如果 z 中字符与 x 中字符重复,该重复的字符在最终结果中还是会被删除。也就是无论是否重复,只要有第三个参数 z,z 中的字符都会被删除。
weilangzai
102***7969@qq.com
参考地址