Python 中的 maketrans 函数

maketrans() 函数用于创建一个转换表,将一些整数或字符映射到某个指定值。

该值可以是整数、字符或 None。该表与 translate() 函数一起使用,以映射并用字符串中的给定值替换元素。

我们可以使用 maketrans() 使用三种方式创建翻译表。我们将在本文中讨论这些方法。

在 Python 中使用 maketrans() 函数

我们将在第一个方法中为 maketrans() 函数提供一个参数。

这个参数是一个字典,我们使用键值对映射出元素。键将包含要替换的元素,它们的替换元素将是键的值。

我们可以显示翻译表并将其与 translate() 函数一起使用。请参阅以下示例。

t = str.maketrans({'e':'a', 't':'k'})
print(t)
a = "Delftstack"
print(a.translate(t))

输出:

{101: 'a', 116: 'k'}
Dalfkskack

在上面的示例中,我们显示了翻译表。

要替换的元素使用它们的 ASCII 值映射出来。我们使用 translate() 函数将定义的表与 a 字符串一起使用。

使用 maketrans() 函数的另一种方法是为其提供两个参数。提供的两个参数是字符串,长度应该相等。

第一个字符串中特定索引处的元素被第二个字符串中相应索引处的字符替换。

例如,

t = str.maketrans("et","ak")
print(t)
a = "Delftstack"
print(a.translate(t))

输出:

{101: 97, 116: 107}
Dalfkskack

在这种方法中,转换表中的所有元素都被转换为它们对应的 ASCII 值。

最后一种方法涉及使用三个参数。前两个参数与前面方法中讨论的相同。

附加的第三个参数也是一个字符串。该参数中的字符被映射到 None

这表明无论何时遇到它们都会被删除。请参阅以下示例。

t = str.maketrans("et","ak","lf")
print(t)
a = "Delftstack"
print(a.translate(t))

输出:

{101: 97, 116: 107, 108: None, 102: None}
Dakskack

请注意第三个参数字符串字符 l 和 f 如何映射到 None 并从最终字符串中省略。