當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。