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で動作確認しています。