Python の Maketrans 関数

Manav Narula 2022年4月12日
Python の Maketrans 関数

maketrans() 関数は、いくつかの整数または文字を特定の値にマップする変換テーブルを作成するために使用されます。

この値は、整数、文字、または None にすることができます。このテーブルは、translate() 関数とともに使用され、要素をマップして、文字列内の指定された値に置き換えます。

maketrans() で 3つの方法を使用して変換テーブルを作成できます。この記事では、これらの方法について説明します。

Python での maketrans() 関数の使用

最初のメソッドでは、maketrans() 関数に引数を 1つだけ指定します。

この引数は辞書であり、キーと値のペアを使用して要素をマップします。キーには置換される要素が含まれ、それらの置換要素はキーの値になります。

変換テーブルを表示して、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() 関数を使用する別の方法は、2つの引数を指定することです。提供される 2つの引数は文字列であり、同じ長さである必要があります。

最初の文字列の特定のインデックスにある要素は、2 番目の文字列の対応するインデックスにある文字に置き換えられます。

例えば、

t = str.maketrans("et", "ak")
print(t)
a = "Delftstack"
print(a.translate(t))

出力:

{101: 97, 116: 107}
Dalfkskack

この方法では、変換テーブル内のすべての要素が対応する ASCII 値に変換されます。

最後の方法では、3つの引数を使用します。最初の 2つの引数は、前の方法で説明したものと同じです。

追加の 3 番目の引数も文字列です。この引数の文字は、None にマップされます。

これは、それらが検出されるたびに削除されることを示しています。次の例を参照してください。

t = str.maketrans("et", "ak", "lf")
print(t)
a = "Delftstack"
print(a.translate(t))

出力:

{101: 97, 116: 107, 108: None, 102: None}
Dakskack

3 番目の引数の文字列文字 lfNone にマップされ、最終的な文字列から省略されていることに注意してください。

著者: 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