Python

Python初学者向け:文字列メソッドで0パディングする方法を基本から解説

スポンサーリンク

 

この記事はこんな方におススメです
  • Pythonを始めたばかりで基本から学びたい方
  • Pythonの基本的な部分を速習してまずは全体像を把握しておきたい方

▶ Python初学者向けにデータ分析に関する記事を書いています

はじめに

今回は、桁数が異なる値の時に0で埋めることで桁数を揃える「0パディング」する方法を基本から解説します。通常、左側を0で埋めることが多いですが、桁数を指定して左寄せ・中央寄せ・右寄せで0埋めすることもできます。順番にみていきましょう。

0で埋めて桁数を揃える

冒頭に記載したようにいくつかの方法があります。まずは一番簡単な文字列メソッドzfillを使った方法を見ていきましょう。

文字列メソッドzfill()を使って埋めをする

早速見ていきましょう。大前提としてzfill()は文字列のメソッドです。0埋めしたいケースの対象は数字が多いかと思いますが、zfill()メソッドを使うには一度文字列に変換する必要があります。zfill()メソッドでは右寄せで0埋めすることができます。桁数を指定して、対象の数字が指定した桁に合うように0で埋めてくれます。

# 4桁の数字を0埋めして8桁に揃える。
num = 1192
str_num = str(num)

str_num.zfill(8)
zfill()メソッドで0埋め

うまくいきました。与えられた数字をstr()で文字列型に変換してからzfill()メソッドを使います。zfill()メソッドでは桁数8を指定しています。

rjust(), ljust(), center()で0埋めをする

次に紹介するのがrjust(), ljust(), center()メソッドです。いずれも文字列のメソッドです。これらのメソッドはそれぞれ

  • rjust():右寄せ
  • ljust():左寄せ
  • center():中央寄せ

となります。書式を確認しておきましょう。

str.rjust(桁数, ‘0’)
str.lust(桁数, ‘0’)
str.center(桁数, ‘0’)

これらのメソッドは0以外の文字で埋めることもできます。その場合は第二引数で’0’としたところを埋めたい文字で置き換えます。やってみましょう。

# rjust()で0埋めして10桁にする
str_num.rjust(10,'0')
rjust()で0埋め
# ljust()で0埋めして10桁にする
str_num.ljust(10,'0')
ljust()で0埋め
# center()で0埋めして10桁にする
str_num.center(10,'0')
center()で0埋め

簡単ですね。center()では0梅が必要となる桁数が奇数の場合は、右側が優先されるケースと左側が優先されるケースがあります。統一された挙動とならないため、利用するときはあらかじめ想定されるケースでどのような挙動となるか確かめておいた方が良いですね。

# center()で0埋めして9桁にする
str_num.center(9,'0')
center()で0埋め②

また、0以外で桁を埋める例も見ておきましょう。

# rjust()で$埋め
str_num.rjust(10, '$')
rjust()で$埋め

このように指定した桁数になるように、任意の文字で埋めることができます。このほかにもf-stringやformat()メソッド、%演算子を使った方法もありますが、今回は割愛します。

スポンサーリンク

まとめ

今回は文字列メソッドで0埋めする方法を解説しました。これらの方法は文字列メソッドなので、対象が数字である場合はstr()で文字列に変換してから行う必要があります。

コメント

タイトルとURLをコピーしました