#python #string
#python #строка
Вопрос:
у меня есть список, подобный этому :
a=[1000,200,30]
и я хочу получить список, подобный этому :
['01000','00200','00030']
итак, что я могу сделать ,
Спасибо
Ответ №1:
>>> a=[1000,200,30]
>>> [str(e).zfill(5) for e in a]
['01000', '00200', '00030']
Комментарии:
1. Я думал, что это может ограничиться -30, но нет, это правильно выдает вас
-0030
. 1.
Ответ №2:
str.format()
является ли предпочтительный способ сделать это, если вы используете Python > = 2.6
>>> a=[1000, 200, 30]
>>> map("{0:05}".format, a)
['01000', '00200', '00030']
Ответ №3:
Вы можете сделать это следующим образом:
a = [1000,200,30]
b = ["d" % (i) for i in a]
print b
Число указывает ширину, а начальный ноль говорит о том, что вам нужны начальные нули.
Ответ №4:
map(lambda x:str(x).zfill(5),a)
Комментарии:
1. Я ненавижу этот ответ, поскольку все эти лямбда-выражения высмеивают мой прекрасный язык преподавания в начальной школе, но он полезен, так что 1 🙂
2. @paxdiablo, также можно передать
str.format
в качестве первого аргумента для сопоставления. Смотрите мой ответ
Ответ №5:
Посмотрите на форматирование строк в Python.