Pythonで文字列や数値を右揃えする方法について

Python,イメージ

AI実装検定のご案内

Pythonでは、文字列や数値を右揃え(right alignment)する方法がいくつかあります。

右揃えは、出力を整形して見やすくしたいときや、表形式の出力をするときによく使われます。

ここでは、代表的な方法を以下の観点で解説します。

目次

方法1:str.rjust() メソッド

文字列型 (str) に対して使えるメソッドです。

s = "Python"
print(s.rjust(10))  # 幅10で右揃え

出力

    Python

概要

  • rjust(width, fillchar=' ')
    • width: 最終的な文字列の幅(指定の桁数)
    • fillchar: 埋める文字(デフォルトはスペース)

例:ゼロ埋めで右揃え

print("42".rjust(5, '0'))  # 出力: 00042

方法2:format() メソッド(旧式フォーマット)

num = 42
print("{:>5}".format(num))  # 幅5で右揃え

出力

   42

フォーマット構文の解説

  • {}:中括弧で埋め込み
  • :>:右揃え(Left: <, Center: ^
  • 5:全体の幅を指定

ゼロ埋めの例

print("{:>05}".format(42))  # 出力: 00042

方法3:f文字列(f-string, Python 3.6以降)

より直感的に書けるのが f"..." 形式です。

name = "Alice"
print(f"{name:>10}")  # 幅10で右揃え

出力

     Alice

数値の右揃えとゼロ埋め

score = 85
print(f"{score:>5}")    # スペースで右揃え → '   85'
print(f"{score:0>5}")   # ゼロで右揃え → '00085'

方法4:str.zfill()(数値文字列を0埋め右揃え)

str.zfill(width) は、数値を文字列として右揃えゼロ埋めします。

n = "42"
print(n.zfill(5))  # 出力: 00042

注意点: zfill() は負の数も考慮します。

n = "-42"
print(n.zfill(5))  # 出力: -0042

方法5:print() + str.format() + 表形式出力(実践例)

例えば、複数データの一覧を右揃えにして見やすく整える例です。

data = [("Alice", 23), ("Bob", 8), ("Charlie", 105)]

for name, score in data:
    print(f"{name:>10} | {score:>5}")

出力

     Alice |    23
       Bob |     8
   Charlie |   105

まとめ

Python右揃え,イメージ
方法特徴Pythonバージョン
str.rjust()文字列用。簡単だが数値整形にはやや不便全バージョン
format()柔軟な整形が可能。古いがまだ有用Python 2.6+
f-string可読性・直感性に優れ、推奨される現代的な方法Python 3.6+
str.zfill()数値文字列をゼロ埋めで右揃え全バージョン

補足

数値型(int, float)は、直接的な右揃えメソッドは持っていません

整形するには、文字列として表示するときに右揃えを施す必要があります。

from IPython import get_ipython
from IPython.display import display

n = 123
print(f"{n:>6}")  # 文字列として右揃えして出力

print("Text".rjust(10))
#      Text  # Remove this line
print("123".rjust(10))
#       123  # Remove this line
print(format(42, ">10"))
#        42  # Remove this line
  • 表示を整えるだけならf-stringまたはformatで十分です。
  • ファイル出力やレポート作成では、桁揃え(padding)がデザイン品質を大きく左右します。

以上、Pythonで文字列や数値を右揃えする方法についてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次