str.maketrans() 构造翻译表
最后更新:2026-09-22
str.maketrans() 构造翻译表
str.maketrans(x[, y[, z]]) 返回一个翻译表给 str.translate() 使用。
| 分类 | 字符串方法 |
|---|---|
| 类型 | 内建类型方法 |
| Python 版本 | all |
📝 语法
str.maketrans(x[, y[, z]])
⚙️ 参数
| x 必选 | 单参数时为字符到字符的映射字典;三参数时为要映射的源字符串。 |
|---|---|
| y 可选 | 与 x 等长的目标字符串,逐字符对应映射。(默认值:None) |
| z 可选 | 要在结果中删除的字符集合。(默认值:None) |
返回值:dict。供 str.translate() 使用的字符映射翻译表。
是否修改原对象:否(返回新对象)
💥 异常
TypeError— 只传 x 且 x 不是字典时抛出。ValueError— x 与 y 长度不相等时抛出。
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
h2ll4 w4rld
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Q三种调用方式分别是什么?
Astr.maketrans(x):x 为字符到字符的映射字典;str.maketrans(x, y):x、y 是等长字符串,逐字符对应映射;str.maketrans(x, y, z):z 是要删除的字符集合。
Qx 和 y 长度不一致会怎样?
A抛 ValueError,x 与 y 必须等长。
Q生成的翻译表怎么用?
A传给 str.translate():tbl = str.maketrans('aeiou', '12345'),然后 'hello'.translate(tbl)。