Pythonで文字列の末尾にゼロを追加する方法
データ処理を行っていると、ある文字列の後ろに別の文字列を連結したい場面に出くわすことがあります。本記事では、指定した文字列の末尾に動的な個数の「0」を追加する方法を、いくつかの文字列操作機能を使ったサンプルコードとともにわかりやすく解説します。
ljust()とlen()を使う方法
Pythonの文字列メソッドljust()は、指定した幅(width)の文字列の中で元の文字列を左寄せにして返します。余った部分は引数で指定した埋め込み文字(fillchar)で埋められます(デフォルトは半角スペース)。また、len()は文字列の長さを返す関数です。この2つを組み合わせ、「元の文字列の長さ+追加したいゼロの個数」を幅としてljust()に渡すことで、末尾にゼロを追加できます。
サンプルコード
# 文字列の末尾にゼロを追加する
# 文字列を初期化
text = 'Jan-'
print("入力された文字列 : " + text)
# 追加するゼロの個数
n = 3
# ljust()で末尾にゼロを追加
output = text.ljust(n + len(text), '0')
print("末尾にゼロを追加した結果 : " + output)
実行結果
上記のコードを実行すると、次のような出力が得られます。
入力された文字列 : Jan- 末尾にゼロを追加した結果 : Jan-000
format()関数を使う方法
format()メソッドは、指定した値を整形し、文字列内のプレースホルダー(波括弧{}で定義)に埋め込むことができます。書式指定ミニ言語を使えば、左寄せ(<)、埋め込み文字(0)、全体の幅を一度に指定可能です。次の例では、長さ7の文字列に対して幅9を指定することで、末尾に2つのゼロを追加しています。
サンプルコード
text = 'Spring:'
print("\n入力された文字列 : " + text)
# '<'で左寄せ(=末尾側にパディング)、'0'でゼロ埋め、'9'で全体の幅を指定
z = '{:<09}'
output = z.format(text)
print("末尾にゼロを追加した結果 : " + output)
実行結果
上記のコードを実行すると、次のような出力が得られます。
入力された文字列 : Spring: 末尾にゼロを追加した結果 : Spring:00
f文字列(f-string)を使う方法(Python 3.6以降)
Python 3.6以降では、f文字列を使うことでさらに簡潔に記述できます。format()と同じ書式指定を波括弧の中に直接書けるのが特徴です。
サンプルコード
text = 'Spring:'
output = f'{text:<09}'
print(output) # Spring:00
注意: 変数名に組み込み関数と同じstrを使用すると、str()関数が呼び出せなくなるため避けましょう。上記の例では、変数名をtextとしています。
-
Pythonのcasefold()メソッドとは?文字列の小文字変換と比較方法を解説
Pythonのcasefold()は、文字列内の英字をすべて小文字に変換するためのメソッドです。lower()と似ていますが、より積極的な変換を行う点が特徴で、ドイツ語の「ß」が「ss」に変換されるなど、国際化対応において強力な働きをします。2つの文字列に対してcasefold()を適用すれば、大文字・小文字の違いを無視して値を一致させることができます。そのため、ユーザー入力の比較や検索処理などで非常に役立ちます。casefold()の基本的な使い方次の例では、文字列にcasefold()を適用し、すべて小文字に変換された結果を出力しています。コード例string = BestTutorial
-
Pythonで文字列をゼロ埋め(左パディング)する3つの方法
Pythonで文字列をゼロ埋め(左パディング)する方法IDや日付、数値を固定桁数で表示したい場合など、文字列の左側をゼロで埋めたい場面はよくあります。Pythonでは主に3つの方法でこれを実現できます。それぞれの特徴と使い方を見ていきましょう。1. rjust() メソッドを使う文字列クラスの rjust(width[, fillchar]) メソッドは、文字列を右寄せにし、指定した文字で左側を埋めます。埋め文字を省略した場合は半角スペースが使用されます。第2引数に 0 を渡すことで、ゼロ埋めが可能です。>>> 25.rjust(6, 0)000025>>>