El 2013/3/13 Marcos Sánchez Provencio <[email protected]>:
> El 13/03/13 13:33, Flavio Danesse escribió:
>
> Y si lo haces sencillo ?:
>
> lista = [[u'00:00:00:02:44:a9:b5:34', '1', u'00:00:00:1b:11:b4:16:80', '1'],
>         [u'00:00:00:1b:11:b4:16:80', '1', u'00:00:00:02:44:a9:b5:34', '1']]
>
> for elemento in lista:
>     elemento.reverse()
>
>     if elemento in lista:
>         lista.remove(elemento)
>
> print lista
> [[u'00:00:00:1b:11:b4:16:80', '1', u'00:00:00:02:44:a9:b5:34', '1']]
>
>
> Creo que eso no funciona, prueba con diferentes juegos de datos.

Es el peligro que tiene la "mutabilidad" sin control :P

Una versión más funcional[^1], aunque mejorable:

set2=set( tuple(x) for x in lista
               if x[::-1] not in lista or x<=x[::-1] )

...alternativamente:

set2= { tuple(min(x,x[::-1])) for x in lista }





[^1]: sí, ya sé que estoy muy pesado últimamente

--
Hyperreals *R: http://ch3m4.org/blog
Quarks, bits y otras criaturas infinitesimales
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a