как получить эту строку с помощью python

#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']
  

str.zfill

Комментарии:

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: