[Python-es] Duplicados en una lista

tny a.porrua en gmail.com
Mar Oct 19 13:50:37 CEST 2010


El mar, 19-10-2010 a las 11:28 +0100, Ricardo Cárdenes Medina escribió:
> > si el orden es importante
> > uno_de_cada_en_orden_original = [x for x in a if a in uno_de_cada]
> > más fácil imposible
> >
> 
> Menos mal... Eso tiene dos fallos. Por un lado, un hermoso TypeError,
> porque
> en todo caso sería "if x in uno_de_cada". Por otro lado... no sé si te
> has
> dado cuenta, pero esa expresión no filtra nada: todos los elementos de
> 'a'
> están en 'uno_de_cada', así que uno_de_cada_en_orden_original == a
> 
> Ains... 

Mierda. Eso me pasa por programar sin pensar.

Ahora sí.
uno_de_cada_en_orden_original = [a[i] for i in range(len(a)) if a[i] not
in a[:i]]

Disculpen, la próxima vez compruebo antes de enviar.





Más información sobre la lista de distribución Python-es