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)
输出:
tOriginal 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)
输出:
tOriginal String: Python is a programming language
Translated String: aython cs a programmcng banguage
Table: {80: 97, 108: 98, 105: 99}
如果有两个或更多参数,则所有参数都应为字符串。在上面的示例中,maketrans()
方法将返回一个转换表,其中 str1
和str2
的所有字符都以各自的 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))
输出:
tOriginal String: Hello World $%&*
Translated String: H1223 W3r24
如果传递了三个参数,则第三个参数的所有字符将映射到 maketrans()
方法返回的转换表中的 none ,并且 str1 的所有字符都将替换为 str2 的字符。然后将表传递给 translate()
方法,它将相应地转换字符串。
本文内容总结: