1. ホーム
  2. python

[解決済み】pythonで添え字を印刷する

2022-02-15 03:14:16

質問

Python 3.3では、印刷時に文字列の一部を添え字にする方法はありますか?

例:H₂(Hの後に添え字2がつく)。

どのように解決するのですか?

桁数だけを気にするのであれば str.maketrans() str.translate() メソッドを使用します。

example_string = "A0B1C2D3E4F5G6H7I8J9"

SUB = str.maketrans("0123456789", "₀₁₂₃₄₅₆₇₈₉")
SUP = str.maketrans("0123456789", "⁰¹²³⁴⁵⁶⁷⁸⁹")

print(example_string.translate(SUP))
print(example_string.translate(SUB))

と出力されます。

A⁰B¹C²D³E⁴F⁵G⁶H⁷I⁸J⁹
A₀B₁C₂D₃E₄F₅G₆H₇I₈J₉

これは Python 2 では動作しないことに注意してください。 Python 2 の maketrans() 関数は Unicode では動きません。 には、その理由と対処法が書かれています。