概要
Pythonのljust
とrjust
を使ってみたので、サンプルコードと一緒に紹介します。
これらは、指定した幅になるように文字列の右や左側を特定の文字で埋めることができます。
注意点もあることがわかったので記載します。
サンプルコード
ljust
を使用して左側を'0'
で埋める
string = '123'
# ljustを使用して左側を`'0'`で埋める
result = string.ljust(5, '0')
print(result)
# 12300
出力結果の通り、文字列の長さが5
になるように左側が'0'
で埋められました。
rjust
を使用して右側を' '
で埋める
string = '123'
# rjustを使用して右側を`' '`で埋める
result = string.rjust(5, ' ')
print(result)
# 123
文字列の長さが5
になるように右側が' '
で埋められていることがわかります。
注意点
以下の3つがあると思います。
- 元の文字列が指定した長さよりも短い場合にのみパディングが追加されること
- パディングに使用する文字は1文字であること
- 複数の文字を指定すると以下のエラーが発生します
-
''
であっても同様のエラーです
string = '123'
# 1文字以上を使用すると...
result = string.rjust(5, '12')
print(result)
出力結果:
result = string.rjust(5, '12')
TypeError: The fill character must be exactly one character long
-
int
型などの数値に対して実行したい場合は、先にstr
へ変換すること-
ljust()
やrjust()
は文字列メソッドであり、数値に直接適用することはできないため
-
number = 123
string = str(number)
# rjustを使用して右側を`' '`で埋める
result = string.rjust(5, ' ')
print(result)
# 123
そのほか
- 中央寄せの場合は
center()
を使う - 符号が先頭についている場合は、
zfill()
を使うことで、符号のあとからゼロで埋めることができる
number = -123
string = str(number)
# zfillを使用してゼロで埋める
result = string.zfill(5)
print(result) # '-0123'