Python 中的 maketrans 函式

Manav Narula 2022年5月17日
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

請注意第三個引數字串字元 lf 如何對映到 None 並從最終字串中省略。

作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相關文章 - Python String

相關文章 - Python Function