当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python String translate()用法及代码示例


Python 字符串 translate() 方法返回修改后的字符串,替换字典或哈希表中说明的字符。

用法:
string.translate(哈希映射)

参数

  • string- 原始字符串
  • 哈希映射 - 原始字符串中两个字符之间的映射。

Python 字符串 translate() 方法示例

示例 1:

Python3


# hash map
trans_dic = {101: None, 102: None, 103: 105}
original_str = "geeksforgeeks"
print("Original string:", original_str)
# Altered string
print("Modified string:", original_str.translate(trans_dic))

输出:

Original string: geeksforgeeks
Modified string: iksoriks

解释:

这里‘e’和‘f’映射为None,类似地‘g’映射为‘i’,将字符串修改为“iksoriks”。

示例 2:

Python3


s = "GeeksforGeeks"
trans = s.maketrans("G", "g")
print(s.translate(trans))

输出:

geeksforgeeks

解释:

这里‘G’通过maketrans()方法映射到‘g’。

示例 3:

Python3


# strings
str1 = "gfg"
str2 = "abc"
str3 = "gf"
original_string = "geeksforgeeks"
print("Initial string:", original_string)
translation = original_string.maketrans(str1, str2, str3)
# Altered String
print("Modified string:", original_string.translate(translation))

输出:

Initial string: geeksforgeeks
Modified string: eeksoreeks

解释:

这里 g、f 和 g 通过 maketrans() 方法映射到 a、b 和 c,类似地,g、f 映射到 None,将字符串修改为 “eeksoreeks”。

笔记:

  • 如果指定的字符不在哈希表中,则不会替换该字符。
  • 如果我们使用哈希表,我们必须使用ascii码而不是字符。

示例 4:

方法:

在此示例中,我们首先将示例输入字符串定义为“hello world”。然后,我们使用 str.maketrans() 方法定义一个转换表。 str.maketrans() 方法返回一个转换表,translate() 方法可以使用该转换表来替换字符串中的字符。

在本例中,我们定义一个转换表,将所有出现的字符 ‘e’ 和 ‘l’ 分别替换为 ‘x’ 和 ‘y’。我们将此转换表分配给变量translation_table。

最后,我们使用translate()方法将翻译表应用到输入字符串string。这将返回一个新字符串,其中的字符根据翻译表进行替换。我们将这个新字符串分配给变量translated_string。

Python3


# Sample input string
string = "hello world"
# Define the translation table
translation_table = str.maketrans('el', 'xy')
# Use the translate() method to apply the translation table to the input string
translated_string = string.translate(translation_table)
# Print the translated string
print(translated_string)
输出
hxyyo woryd

该代码的时间复杂度为 O(n),其中 n 是输入字符串的长度。 str.maketrans() 方法具有恒定的时间复杂度,因为它只是创建一个翻译表,而 translate() 方法也具有线性时间复杂度,因为它循环遍历输入字符串中的每个字符并根据该表执行翻译。

空间复杂度也是 O(n),因为翻译后的字符串与输入字符串具有相同的长度,并且无论输入字符串的长度如何,翻译表的大小都是恒定的。



相关用法


注:本文由纯净天空筛选整理自shlokdi35dq大神的英文原创作品 Python String translate() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。