Buenas, 2010/10/19 Carlos Herrera Polo <[email protected]>: > 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)
En la actualidad posiblemente lo mejor sea utilizar set, que según creo recordar apareció en la versión 2.4 > l =[1,1,1,2,3,3,3,4,4,4] > list(set(l)) [1, 2, 3, 4] > Si te vale la secuencia para seguir trabajando, elimina la parte de "list". De todos modos es por lo general buena idea trabajar con secuencias en vez de con listas si la lista original es bastante grande, debido a su menor consumo de memoria. Antes de que python incluyera set, la manera más habitual (y generalmente también más rápida) de hacerlo era utilizando diccionarios: > l =[1,1,1,2,3,3,3,4,4,4] > dict((k,1) for k in l).keys() [1, 2, 3, 4] > Pero este método no garantiza el orden. Si lo necesitas puedes hacerlo con: sorted(dict((k,1) for k in l).keys()) pero el rendimiento se verá afectado si la lista es muy grande. En ese caso te recomiendo el primer método mostrado en el primer comentario en el link siguiente. Tienes más variantes e ideas en: http://code.activestate.com/recipes/52560-remove-duplicates-from-a-sequence/ Espero te sea de ayuda. Un saludo, Iñigo Serna _______________________________________________ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
