Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのtranslate()メソッドで文字列を一括置換・翻訳する方法

Pythonでは、文字列内の複数の文字をまとめて別の文字に置き換えたい場合、translate()メソッドを使うと効率的です。このメソッドは、str.maketrans()関数で作成した変換テーブルに基づいて文字を変換した新しい文字列のコピーを返します。また、オプションとして削除したい文字を指定すれば、該当する文字をすべて取り除くことも可能です。

基本的な使い方

以下の例では、母音「aeiou」をそれぞれ数字「12345」に対応付けて文字列を変換しています。

intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)

str = "This is a string example....wow!!!"
print(str.translate(trantab))

実行結果

上記のコードを実行すると、次のような出力が得られます。

Th3s 3s 1 str3ng 2x1mpl2....w4w!!!

ポイント解説

  • str.maketrans(intab, outtab):変換元の文字列と変換先の文字列を受け取り、両者の対応関係を示す変換テーブルを作成します。
  • translate(trantab):文字列内の各文字をテーブルに従って置き換えた新しい文字列を返します。元の文字列自体は変更されません。

なお、Python 2ではstring.maketrans()という関数を使用していましたが、Python 3では文字列型の静的メソッドであるstr.maketrans()を使うのが標準的な書き方です。古いコードを扱う場合はこの違いに注意してください。

  1. Pythonで文字列を逆順にする方法|スライスとreversed()の使い方を解説

    Pythonでは、文字列スライスやrange演算子を活用することで、文字列を簡単に逆順(反転)にすることができます。この記事では、代表的な2つの方法をわかりやすく解説します。 方法1:スライス記法 [::-1] を使う(推奨・高速) 最もシンプルで一般的なのが、スライス記法を使う方法です。ステップに -1 を指定するだけで、文字列を後ろから前へ一文字ずつ取り出せます。 >>> Hello[::-1] olleH >>> Halloween[::-1] neewollaH スライスの仕組み 角括弧 [] の中には、コロン「:」で区切った3つの値を指定できます

  2. Python関数に辞書を引数として渡す方法をわかりやすく解説

    Pythonでは、辞書(dict)をそのまま関数の引数として渡すことができます。関数の中では、受け取った辞書のキーと値のペアを順番に取り出して処理し、結果を出力することが可能です。 以下のコードでは、辞書 d を関数 f の引数として渡し、関数内で各キーと値のペアに対して「値 × 2」の計算を行っています。 例 d = {a: 1, b: 2, c: 3} def f(dict): for k, v in dict.items(): print(k, 2 * v) f(d) 出力 a 2 b 4 c 6 コードの解説 辞書 d には、キー a・b・c に対して、そ