добавление ведущих нулей в список чисел в Python

Я новичок в Python. Я пытаюсь настроить формат списка, который выглядит следующим образом:

data=[1,10,313,4000,51234,123456]

и я хотел бы, чтобы преобразовать их в список строк с ведущими нулями:

result=['000001','000010','000313','004000','051234','123456']

каждый элемент имеет 6 цифр.

Я знаю для одного числа X, я могу сделать:

str(X).zfill(6)

но я не уверен, как применить это в список. Я хотел бы решить эту проблему без использования цикла for.

кто-нибудь может помочь? Спасибо.

1 ответов


применить то же самое zfill, такой

>>> [str(item).zfill(6) for item in data]
['000001', '000010', '000313', '004000', '051234', '123456']

кроме того, вы можете использовать строку format способ, с спецификаторы формата, такой

>>> ["{:06d}".format(item) for item in data]
['000001', '000010', '000313', '004000', '051234', '123456']

если вы собираетесь делать форматирование чаще, то вы можете сохранить это в переменной, как это

>>> formatter = "{:06d}".format
>>> [formatter(item) for item in data]
['000001', '000010', '000313', '004000', '051234', '123456']

если вы используете Python 2.x, тогда вы можете использовать map и , такой

>>> map(formatter, data)
['000001', '000010', '000313', '004000', '051234', '123456']

если вы используете Python 3.x,map возвращает iterable