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 番目の引数の文字列文字 l
と f
が None
にマップされ、最終的な文字列から省略されていることに注意してください。
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 で文字列からコンマを削除する
- Python で文字列を変数名に変換する
- Python 文字列の空白を削除する方法
- Python で文字列から数字を抽出する
- Python が文字列を日時 datetime に変換する方法
- Python 2 および 3 で文字列を小文字に変換する方法