pyplot chart python list

chart - Python-transformación de lista



python pyplot title (7)

Desea utilizar la función de map incorporada:

>>> 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 en mí! Para hacer que muestre los ceros iniciales, haz esto:

>>> x = [1,2,3,4,5,11] >>> y = ["%02d" % v for v in x] >>> y [''01'', ''02'', ''03'', ''04'', ''05'', ''11'']

¿Alguien sabe qué magia tengo que usar para cambiar la lista x:

x = [1,2,3,4,5,11]

en y lista?

y = [''01'', ''02'', ''03'', ''04'', ''05'', ''11'']

Gracias de antemano por ayudarme ...


Prueba esto:

>>> [str(v).rjust(2,''0'') for v in x] [''01'', ''02'', ''03'', ''04'', ''05'', ''11'']

rjust como método de clase de cadena, toma un argumento entero (longitud del resultado) y un carácter de relleno opcional


Puedes usar una lista de comprensión (Python 2.6+):

y = ["{0:0>2}".format(v) for v in x]

O para Python antes de 2.6:

y = ["%02d" % v for v in x]

Edición: se perdió el hecho de que querías cero relleno ...


Una alternativa al formato de cadenas sería utilizar el método zfill () de la cadena:

y = [str(i).zfill(2) for i in x]

Otra cosa: podría estar después del relleno basado en el elemento más grande de la lista, así que en lugar de solo usar 2, podría hacer:

pad_length = len(str(max(x))) y = [str(i).zfill(pad_length) for i in x]


Yo mismo usaría una lista de comprensión, pero aquí hay otra solución que usa el mapa para aquellos interesados ​​...

map(lambda v: "%02d" %v, x)


para obtener los 0''s:

y = [''%02d'' % i for i in x]


y = [''%02d''%v for v in x]