Кто-нибудь знает, что волшебство я должен использовать, чтобы изменить список х:Python - список преобразования
х = [1,2,3,4,5,11]
в у список?
у = [ '01', '02', '03', '04', '05', '11']
Спасибо всем заранее за помощь мне ...
Кто-нибудь знает, что волшебство я должен использовать, чтобы изменить список х:Python - список преобразования
х = [1,2,3,4,5,11]
в у список?
у = [ '01', '02', '03', '04', '05', '11']
Спасибо всем заранее за помощь мне ...
Вы можете использовать список понимание (Python 2.6+):
y = ["{0:0>2}".format(v) for v in x]
Или для Python до 2.6:
y = ["%02d" % v for v in x]
Редактировать: Пропустил тот факт, что вам нужна нулевая прокладка ...
Вы хотите использовать встроенный в map
функции:
>>> x = [1,2,3,4,5]
>>> x
[1, 2, 3, 4, 5]
>>> y = map(str, x)
>>> y
['1', '2', '3', '4', '5']
EDIT Вы изменили требования на меня! Для того, чтобы отобразить его ведущие нули, вы делаете это:
>>> x = [1,2,3,4,5,11]
>>> y = ["%02d" % v for v in x]
>>> y
['01', '02', '03', '04', '05', '11']
, что точка с запятой смотрит на меня! прекратите! –
Whooops! Старые привычки умирают с трудом. –
И если я хотел бы добавить ноль, если число является одной цифрой, и я хочу, чтобы мои номера были по 2 цифры каждый? – elfuego1
чтобы получить 0's:
y = ['%02d' % i for i in x]
y = ['%02d'%v for v in x]
Я хотел бы использовать список понимание себя, но здесь другое решение, используя карту для тех, кто заинтересован ...
map(lambda v: "%02d" %v, x)
Альтернативой строк формата будет использовать zfill струны () метод:
y = [str(i).zfill(2) for i in x]
Другое дело: вы можете быть после заполнения на основе наибольшего элемента в списке, так что вместо того, чтобы просто используя 2, вы можете сделать:
pad_length = len(str(max(x)))
y = [str(i).zfill(pad_length) for i in x]
Попробуйте это:
>>> [str(v).rjust(2,'0') for v in x]
['01', '02', '03', '04', '05', '11']
rjust как метод строкового класса, принимает целочисленный аргумент (длина результата) и опциональный символ заполнения
Интересно, я не слышал об этом синтаксисе «{0: 0> 2}». Является ли он охвачен любым PEP или другим документом? – Rodrigo
Это новый синтаксис, который (предположительно) предназначен для постепенного замены синтаксиса%. На самом деле это очень хорошо для некоторых вещей, и я решил использовать его в своем коде, но он по-прежнему выглядит странно для меня, так долго, используя%. Подробнее здесь: http://docs.python.org/library/string.html#formatstrings – DNS