[Python-es] Eliminar campos vacíos de una lista
Jordi Torrents
jordi.t21 en gmail.com
Jue Sep 20 17:17:55 CEST 2012
Hola,
Una solución usando list comprehensions:
In [29]: lista = ['',4,2,7,'hola','','','','que','tal','','','','']
In [30]: [item for item in lista if item]
Out[30]: [4, 2, 7, 'hola', 'que', 'tal']
Salut!
2012/9/20, RadicalEd <willian.radicaled en gmail.com>:
> Hola chicos, una pregunta sobre un problema con listas que no he podido
> solucionar, llevo ya 2 días dandole y dandole y no puedo, necesito eliminar
> de una lista los campos vacíos, ósea, tengo una lista +/- así
>
> x = ['SAE80W90 1/4-C ACEITE TRANS CAJA MECAN S 535 COEXITO-NAL
> 2 14,711 84 595,622 86 610,333', 'SAE80W90-GALON-C
> ACEITE TRANS CAJA MECAN S 535 COEXITO-NAL 2 54,723 28
> 777,149 30 831,871', 'SAE85W140 1/4-C ACEITE TRANS CAJA
> MECANIC 535 COEXITO-NAL 60 436,039 60
> 436,039', 'SL-SAE20W50 1/4-C ACEITE MOTOR SAE20W50 POR 535 COEXITO-NAL
> 2', '', '', 'Fin reporte, Registros:28635', '', '', '',
> '', '', '', '', '', '', '', '', '', '']
>
> Y debo dejarla así
>
> x = ['SAE80W90 1/4-C ACEITE TRANS CAJA MECAN S 535 COEXITO-NAL
> 2 14,711 84 595,622 86 610,333', 'SAE80W90-GALON-C
> ACEITE TRANS CAJA MECAN S 535 COEXITO-NAL 2 54,723 28
> 777,149 30 831,871', 'SAE85W140 1/4-C ACEITE TRANS CAJA
> MECANIC 535 COEXITO-NAL 60 436,039 60
> 436,039', 'SL-SAE20W50 1/4-C ACEITE MOTOR SAE20W50 POR 535 COEXITO-NAL
> 2', 'Fin reporte, Registros:28635']
>
> He tratado leyendo con una iteración pero me acabo de dar cuenta que esta
> va indice por indice y así elimine un dato, el ira por el siguiente, ósea,
> saltará hacía adelante teniendo un indice menos y ahí se me acaba la
> inteligencia.
>
> Alguna idea?
>
> Gracias.
> --
> El pasado son solo recuerdos, el futuro son solo sueños
> http://www.solocodigo.com
>
Más información sobre la lista de distribución Python-es