← Все вопросы
Как дополнить число нулями слева до нужной длины?
12
Хочу из числа 7 получить строку "007", а из 42 — "042". То есть всегда 3 знака с нулями впереди. Как красиво?
3 ответа
20
✓ Принятый ответ — помог автору
Для нулей слева идеально подходит zfill:
str(7).zfill(3) # '007'
str(42).zfill(3) # '042'
zfill умный: он корректно ставит нули даже после знака минус — "-5".zfill(4) даёт '-005'. Альтернатива через f-строку: f"{7:03d}" — тоже '007'.
Дмитрий Семочкин zfill прям то что искал, спасибо 🙏 · 10 месяцев назад
Андрей Хрусталёв f-строка ещё короче, спс за оба варианта · 10 месяцев назад
8
Если дополнять надо не нулём, а пробелом или другим символом — тогда rjust: "7".rjust(3) даёт ' 7', а "7".rjust(3, "0") — те же '007'. zfill это по сути частный случай rjust с нулём.
6
str(n).zfill(3).
Ваш ответ
Войдите, чтобы ответить на вопрос.