← Все вопросы

Как дополнить число нулями слева до нужной длины?

Задан 11 месяцев назад1.1к просмотров3 ответа
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).

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект