Tutorial Study Image

Python maketrans()

Python 中的 maketrans() 函数有助于返回一个映射表。该映射表用于使用 translate() 方法进行翻译。Python 中的 translate() 方法返回一个字符串,其中每个字符都映射到其在映射表中的对应字符。


string.maketrans(x[, y[, z]]) #where x,y,z are strings
 

maketrans() 参数

maketrans() 函数接受三个参数。maketrans() 方法可以创建一个字符到其翻译的一对一映射。此方法是一个静态方法。

参数 描述 必需/可选
x 如果只指定一个参数,则它必须是一个字典。如果指定两个或更多参数,则该参数必须是一个字符串,指定要替换的字符。 必需
y 一个与参数 x 长度相同的字符串。第一个参数中的每个字符都将替换为该字符串中对应的字符。 可选
z 一个描述要从原始字符串中删除哪些字符的字符串。 可选

maketrans() 返回值

返回值是一个字典,其中包含 Unicode 字符到其替换字符的映射。

输入 返回值
字符串/字典 具有一对一映射的转换表

Python 中 maketrans() 方法的示例

示例 1:如何使用带有 maketrans() 的字典创建转换表?


dictionary = {"a": "11", "b": "22", "c": "33"}
string1 = "abc"
print(string.maketrans(dict))

 dicti "11", 98: "22", 99: "33"}
string2 = "abc"
print(string2.maketrans(dict))
 

输出


{97: '11', 98: '22', 99: '33'}
{97: '11', 98: '22', 99: '33'}

示例 2:如何使用带有 maketrans() 的两个字符串创建转换表?



# first string
String1 = "abc"
String2 = "def"
String = "abc"
print(String.maketrans(String1, String2))

# example dictionary
String1 = "abc"
String2 = "defghi"
String = "abc"
print(String.maketrans(String1, String2))
 

输出


{97: 100, 98: 101, 99: 102}
ValueError: the first two maketrans arguments must have equal length

示例 3:如何使用带有可移除字符串的 maketrans() 创建转换表?



String1 = "abc"
String2 = "def"
String3 = "abd"
String = "abc"
print(String.maketrans(String1, String2, String3))
 

输出


{97: None, 98: None, 99: 102, 100: None}