Pythonで文字列を右寄せ・左寄せ・中央寄せする:rjust, ljust, centerの使い方

コンソール(ターミナル)に表形式でデータを出力したり、ログを見やすく整形したりする際、文字の配置を揃える処理は欠かせません。

Pythonの文字列型には、指定した幅の中で文字列の位置を調整するためのメソッド rjust(), ljust(), center() が用意されています。これらを使うと、不足している部分を指定した文字(デフォルトはスペース)で埋めることができます。

この記事では、それぞれのメソッドの使い方と、埋め込み文字の指定方法について解説します。

目次

1. 右寄せにする: rjust()

rjust() (Right Justify) は、文字列を右端に寄せ、左側の余白を指定した文字で埋めます。

構文:

新しい文字列 = 元の文字列.rjust(全体の幅, 埋め込み文字)

※埋め込み文字を省略した場合は、半角スペースが使われます。

使用例

text = "abc"

# 全体を6文字にし、左側を "*" で埋める
right_aligned = text.rjust(6, "*")

print(f"元の文字: '{text}'")
print(f"右寄せ  : '{right_aligned}'")

実行結果:

元の文字: 'abc'
右寄せ  : '***abc'

全体の幅が6文字になり、左側の3文字分が * で埋められました。

2. 左寄せにする: ljust()

ljust() (Left Justify) は、文字列を左端に寄せ、右側の余白を指定した文字で埋めます。

構文:

新しい文字列 = 元の文字列.ljust(全体の幅, 埋め込み文字)

使用例

text = "abc"

# 全体を6文字にし、右側を "*" で埋める
left_aligned = text.ljust(6, "*")

print(f"左寄せ  : '{left_aligned}'")

実行結果:

左寄せ  : 'abc***'

3. 中央寄せにする: center()

center() は、文字列を中央に配置し、両側の余白を指定した文字で埋めます。

構文:

新しい文字列 = 元の文字列.center(全体の幅, 埋め込み文字)

使用例

text = "abc"

# 全体を6文字にし、両側を "*" で埋める
centered = text.center(6, "*")

print(f"中央寄せ: '{centered}'")

実行結果:

中央寄せ: '*abc**'

全体の幅から文字数を引いた余りが奇数の場合(この例では 6 – 3 = 3文字分)、右側の余白が1文字多くなるように調整されます。

応用:f-string(書式指定)を使う方法

Python 3.6以降では、f-string の書式指定を使っても同様のことができます。こちらの方が、変数を埋め込む際に直感的に記述できるため、モダンなコードではよく使われます。

  • <: 左寄せ
  • >: 右寄せ
  • ^: 中央寄せ
text = "abc"
width = 6
fill = "*"

# 書式: {値 : 埋め文字 配置 幅}
print(f"右寄せ  : '{text:*>6}'")
print(f"左寄せ  : '{text:*<6}'")
print(f"中央寄せ: '{text:*^6}'")

実行結果:

右寄せ  : '***abc'
左寄せ  : 'abc***'
中央寄せ: '*abc**'

まとめ

  • rjust(幅, 文字): 右寄せ(左側を埋める)。
  • ljust(幅, 文字): 左寄せ(右側を埋める)。
  • center(幅, 文字): 中央寄せ(両側を埋める)。
  • 文字を省略するとスペースで埋められます。
  • f-string の書式指定(<, >, ^)でも同様の処理が可能です。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次