まぬねこの足跡。。。

備忘録+たのしさ+ひっそりと

Python - str.maketrans(x[, y[, z]]):str.translate()用 変換テーブル作成

概要

static str.maketrans(x[, y[, z]])

引数[x]:1文字分(Unicode数値、文字)を{変換前:変換後,...}辞書型で紐図ける
引数[x,y]:x,yで同じ長さの文字列、x変換前、y変換後で紐図ける。
引数 z :文字列で指定。文字列とNoneに紐づける

  • tr.translate()用 変換テーブル作成
  • 組込み型 文字列メソッド

実行結果

# ※()内文字表記,()外Unicode
# 「97(a)→122(z)」、「65(A)→90(Z)」、「48(0)→57(9)」
change_table = str.maketrans({"a":"z", 65:90, "0":57})
print(change_table)
# 「97(a)65(A)48(0)→122(z)90(Z)57(9)」 
change_table = str.maketrans("aA0", "zZ9")
print(change_table)
# 「97(a)65(A)48(0)→122(z)90(Z)57(9)」、「35(#)→None」
change_table = str.maketrans("aA0", "zZ9","#")
print(change_table)

表示イメージ

{97: 'z', 65: 90, 48: 57}
{97: 122, 65: 90, 48: 57}
{97: 122, 65: 90, 48: 57, 35: None}