1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonのf-stringは書式指定文字列にも式を書ける

Posted at

Pythonの文字列をフォーマットする際には、コンパクトに書けるf-stringをよく使います。例として、下記は整数を5桁右詰め0埋めで表示する方法です。

>>> value = 198
>>> print(f'{value:0>5d}')
00198

とても便利ですが、場合によっては桁数を実行時に決めたい場合があるかと思います。例えば複数の整数を表示するときに桁数を揃えて右詰めで出力したいとか。

>>> value_list = [1, 11, 121, 1331]

こんなときには、出力する桁数を動的に決めて、書式指定文字列に反映させなければなりません。f-stringの式の中に式がネストすることになるので、動くのかどうか不安でしたが、これが動きます

>>> num_digit = len(str(max(value_list)))
>>> for value in value_list:
...     print(f'{value:0>{num_digit}d}')
... 
0001
0011
0121
1331

なんかいろいろと応用が効きそうでワクワクしますね。

ちなみに上記コードはPython 3.12で動作確認しています。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?