¿Alguien sabe qué magia tengo que usar para cambiar la lista x:Python - lista de transformación
x = [1,2,3,4,5,11]
en Y ¿lista?
y = [ '01', '02', '03', '04', '05', '11']
Gracias a todos de antemano por ayudarme ...
¿Alguien sabe qué magia tengo que usar para cambiar la lista x:Python - lista de transformación
x = [1,2,3,4,5,11]
en Y ¿lista?
y = [ '01', '02', '03', '04', '05', '11']
Gracias a todos de antemano por ayudarme ...
Se puede utilizar una lista por comprensión (Python 2.6+):
y = ["{0:0>2}".format(v) for v in x]
O para Python antes de la 2.6:
y = ["%02d" % v for v in x]
Editar: Perdió el hecho de que quería relleno cero ...
que desea utilizar el incorporado en map
función:
>>> x = [1,2,3,4,5]
>>> x
[1, 2, 3, 4, 5]
>>> y = map(str, x)
>>> y
['1', '2', '3', '4', '5']
EDITAR Usted cambió los requisitos de mí! Para que sea mostrar ceros a la izquierda, esto se hace:
>>> x = [1,2,3,4,5,11]
>>> y = ["%02d" % v for v in x]
>>> y
['01', '02', '03', '04', '05', '11']
que punto y coma me está mirando! ¡para! –
Whooops! Los viejos hábitos tardan en morir. –
Y si me gustaría agregar cero si el número es de un dígito y quiero que mis números sean de 2 dígitos cada uno? – elfuego1
para obtener los 0:
y = ['%02d' % i for i in x]
y = ['%02d'%v for v in x]
me gustaría utilizar una lista por comprensión a mí mismo, pero aquí es otra solución en el mapa para los interesados ...
map(lambda v: "%02d" %v, x)
Una alternativa a las cadenas de formato sería utilizar zfill de la cadena () método:
y = [str(i).zfill(2) for i in x]
Otra cosa: es posible que después de que el relleno basado en el elemento más grande en la lista, así que en vez de usar sólo 2, que podría hacer:
pad_length = len(str(max(x)))
y = [str(i).zfill(pad_length) for i in x]
Prueba esto:
>>> [str(v).rjust(2,'0') for v in x]
['01', '02', '03', '04', '05', '11']
rjust como un método de clase string, toma un argumento entero (longitud del resultado) y un carácter de relleno opcional
Interesante, no he oído hablar de esta sintaxis "{0: 0> 2}". ¿Está cubierto en cualquier PEP u otro documento? – Rodrigo
Es una nueva sintaxis que (supuestamente) está destinada a reemplazar gradualmente la sintaxis%. En realidad, es muy bueno para algunas cosas, y he hecho un punto de usarlo en mi código, pero todavía me parece extraño después de tanto tiempo usando%. Más información aquí: http://docs.python.org/library/string.html#formatstrings – DNS