今回は、Pythonで文字列を0埋めする方法を解説します。
0埋めする方法は、zfill関数、rjust関数、center関数、ljust関数、format関数などでできます。
それぞれの使い方や、0埋めをしたい方法ごとにどの関数を用いるべきかを順番に解説していきます。
- 右寄せ0埋め:zfill()
- 右寄せ:rjust(), 中央寄せ:center(), 左寄せ:ljust()
- 任意の書式で処理:format()
少しでも参考になれば幸いです!
参考:Pythonのfor文・range関数を攻略!これを知れば基本的な処理ができる使い方9選!
無料オンライン相談を活用しよう!
Pythonというプログラミング言語は機械学習の人気の高まりなどもあり、様々なスクールが無料説明会を開催しています。
その中でも「Freeks(フリークス)|業界初!10,780円のサブスク型プログラミングスクール」がオススメです。Pythonを効率よく学びたいという方はまずは適性を知るためにも無料説明会を利用しましょう。
コンテンツ
文字列の左側を0で埋める:zfill()
zfill()関数の使い方
文字列を左詰めにするには、組み込み関数の「zfill」関数を用います。
文字列は数字でないものにも適用できます。
1 2 3 4 5 6 7 8 9 10 |
s = "1111" print(s.zfill(8)) # 00001111 s = "abcd" print(s.zfill(8)) # 0000abcd |
また、文字列の文字数以下の場合は、元の文字列のままです。
1 2 3 4 5 6 7 8 |
s = "1111" print(s.zfill(4)) # 1111 print(s.zfill(2)) # 1111 |
0埋めする対象が文字列ではなく、Integer(整数型)やfloat(実数型)ではエラーとなってしまいます。
zfill関数を使う場合は一度String(文字列型)に変換してから用います。
1 2 3 4 5 6 7 8 |
s = 1111 print(s.zfill(2)) # AttributeError print(str(s).zfill(8)) # 00001111 |
符号付文字列を0埋め
「 + 」や「 – 」の符号がついている場合、それらの符号の後から0埋めが行われます。符号も1文字としてカウントされるので注意が必要です。
1 2 3 4 5 6 7 8 |
s = "+1111" print(s.zfill(8)) # +0001111 s = "11+11" print(s.zfill(8)) # 00011+11 |
右寄せ・中央寄せ・左寄せの0埋め
右寄せ:rjust()
0埋めを右寄せに行うには、「rjust」関数を用います。
文字埋めは、「0」以外の文字でも可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
s = '1111' print(s.rjust(8, '0')) # 00001111 print(s.rjust(8, 'X')) # XXXX1111 print(s.rjust(2, 'X')) # 1111 s = '+111' print(s.rjust(8, '0')) # 0000+111 |
基本的な使い方はzfill関数と同じですね!
中央寄せ:center()
0埋めを中央寄せに行うには、「rjust」関数を用います。
「rjust」関数同様に、「0」以外の文字でも利用可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
s = '1111' print(s.center(8, '0')) # 00111100 print(s.center(8, 'X')) # XX1111XX print(s.center(2, 'X')) # 1111 s = '+111' print(s.center(8, '0')) # 00+11100 |
左寄せ:ljust()
0埋めを左寄せに行うには、「ljust」関数を用います。
「rjust」関数同様に、「0」以外の文字でも利用可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
s = '1111' print(s.ljust(8, '0')) # 11110000 print(s.ljust(8, 'X')) # 1111XXXX print(s.ljust(2, 'X')) # 1111 s = '+111' print(s.ljust(8, '0')) # +1110000 |
format関数の利用
「format」関数を用いても0埋めを行うことができます。
文字列をInteger(整数型)に変換してから処理を行う。符号も考慮されるがInteger(整数型)に変換する際に「 + 」演算子はなくなるので注意が必要です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
s = "1111" print("{:08}".format(int(s))) # 00001111 s = "+1111" print(int(s)) # 1111 print("{:08}".format(int(s))) # 00001111 s = "-1111" print("{:08}".format(int(s))) # -0001111 |
「 + 」を含めて0埋めを行う場合は「zfill」関数を用いましょう!
まとめ
今回は、Pythonで文字列を0埋めする方法を解説しました。
0埋めする方法は、zfill関数、rjust関数、center関数、ljust関数、format関数などでできることがわかりました。
参考:Pythonのfor文・range関数を攻略!これを知れば基本的な処理ができる使い方9選!
- 右寄せ0埋め:zfill()
- 右寄せ:rjust(), 中央寄せ:center(), 左寄せ:ljust()
- 任意の書式で処理:format()
無料の説明会を有効活用しよう!
独学での学習は孤独感を感じやすく挫折してしまう初心者も多いです。また、参考書を購入しても全く読む気にならないという方も多いはずです。
それでも、なんとかPythonの勉強を行い、高スキルなエンジニアを目指したいという方は無料で受けられるオンライン説明会に参加してみることも一つの手です。
Pythonというプログラミング言語は機械学習の人気の高まりなどもあり、様々なスクールが無料説明会を開催しています。
その中でも「Freeks(フリークス)|業界初!10,780円のサブスク型プログラミングスクール」がオススメです。Pythonを効率よく学びたいという方はまずは適性を知るためにも無料説明会を利用しましょう。