[Python-es] Duplicados en una lista

Ricardo Cárdenes Medina ricardo.cardenes en gmail.com
Mar Oct 19 12:28:32 CEST 2010


2010/10/19 tny <a.porrua en gmail.com>

> El lun, 18-10-2010 a las 20:37 -0500, Carlos Herrera Polo escribió:
> > Estimados:
> >
> > Alguien conoce la forma de obtener los items unicos en una lista ?
> > Eliminando los duplicados, es decir...
> >
> > Si mi lista tiene los elementos:
> >
> > A,A,B,B,B,C,D,D,E,E,E,E...
> >
> > Obtener una lista de unicamente:
> >
> > A,B,C,D,E...
> >
> > Imagino que debe existir una funcion (he visto cosas super practicas en
> python)
> >
> > Adicionalmente, me surge una duda quizas tonta...
> >
> > Que cantidad de elementos puede soportar una lista ? Miles, cientos de
> > miles ? Millones ?
> > Supongo depende de la RAM de la maquina... Pero existe alguna limitacion?
> >
> > De antemano, gracias
> >
>
> a = ['A','A','B','B'...]
> uno_de_cada = set(a)
>
> 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...
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20101019/b2e757a7/attachment.html>


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