Python String translate() 函数用法

2023-09-17 22:23:18

translate() 方法返回一个字符串,其中每个字符都映射到转换表中的相应字符。 转换表由maketrans() method 创建。

语法:

str.translate(table)

参数:

table:包含由 maketrans() 方法创建的两个字符之间的映射的转换表。

t

返回值:

返回一个字符串,其中每个字符都映射到其对应的字符,具体取决于转换表。

传递字典(Passing Dictionary)

下面的示例演示translate()方法,其中maketrans()具有单个参数。

mystr = 'Tutorials Teacher'
trans_dict = {'T':'1','o':'2','l':'3','h':'4'}
mytable = mystr.maketrans(trans_dict)
mystr_translated = mystr.translate(mytable)
print('Original String:', mystr)
print('Translated String:', mystr_translated)
print('Table:', mytable)

输出:

t
Original String: Tutorials Teacher
Translated String: 1ut2ria3s 1eac4er
Table: {84: '1', 111: '2', 108: '3', 104: '4'}

如果只有一个参数,它应该是字典。在上面的例子中,maketrans()方法返回一个表,其中包含trans_dict键的 Unicode 序号,这些键映射到它们各自的值。 然后将该表传递给 translate() 方法,通过将键替换为相应的值 trans_dict 来转换字符串。 因此,它通过将"T","o","l","h"分别替换为"1","2","3","4"来将字符串'Tutorials Teacher'转换为'1ut2ria3s 1eac4er'

传递两个参数(Passing Two Parameters)

下面的示例演示translate()方法,其中maketrans()有两个参数。

mystr = 'Python is a programming language'
str1 = 'Pli'
str2 = 'abc'
mytable = mystr.maketrans(str1, str2)
mystr_translated = mystr.translate(mytable)
print('Original String:', mystr)
print('Translated String:', mystr_translated)
print('Table:', mytable)

输出:

t
Original String: Python is a programming language
Translated String: aython cs a programmcng banguage
Table: {80: 97, 108: 98, 105: 99}

如果有两个或更多参数,则所有参数都应为字符串。在上面的示例中,maketrans() 方法将返回一个转换表,其中 str1str2的所有字符都以各自的 Unicode 序号的形式显示。

str1 中的每个字符都是其 str2 中相应索引的替换。然后将表传递给 translate() 方法,它将相应地转换字符串。

下面的示例演示translate()方法,其中maketrans()具有所有三个参数。

mystr = 'Hello World $%&*'
str1 = 'elod'
str2 = '1234'
str3 = '$%&*'
mytable = mystr.maketrans(str1,str2,str3)
print('Original String:',mystr)
print('Translated String:',mystr.translate(mytable))

输出:

t
Original String: Hello World $%&*
Translated String: H1223 W3r24 

如果传递了三个参数,则第三个参数的所有字符将映射到 maketrans() 方法返回的转换表中的 none ,并且 str1 的所有字符都将替换为 str2 的字符。然后将表传递给 translate() 方法,它将相应地转换字符串。

本文内容总结: