[Python-es] obtener diferencias entre elementos de dos listas de listas.

Boris Perez Canedo inf200523 en ucf.edu.cu
Vie Mar 5 15:36:30 CET 2010



Hola a todos.

Viendo los comentarios relacionados con "Buscar
índices de un array (que cumple condición) de forma eficiente" y el
analisis profundo que este genero, me dio un poco de verguenza respecto a un problema
que se me presento y del cual, incluso antes de leer estos comentarios, sabia que la
solucion que habia propuesto no era eficiente ni mucho menos "elegante", pero
bueno lo de elegante se lo puedo achacar a mi falta de experiencia con Python o tambien
puede ser que la falta de elegancia genere la ineficiencia.

No pongo mi
solucion porque me da tremenda pena!

Mi problema:
Encontrar las
diferencias entre los elementos de dos listas de listas cuyos elementos (listas)
comparten entre si un elemento comun en una posicion dada.
Disculpen el enredo
espero entiendan mejor con lo siguiente:

Entrada:
en ste caso el
elemento considerado comun se encuentra en la posicion 1

L1 = [ [ 1, 1,
2] , [ 2, 3, 5 ] , [ 3, 2, 8 ] ]

L2 = [ [ 2, 1, 6 ], [ 3, 2, 8 ], [
1, 3, 5 ], [ 4, 4, 7] ]

Salida:
[ (element1 , element2,
diferencia),... ] 

la diferencia contiene los indices donde ambos
elementos difieren.


[ ( [ 1, 1, 2 ], [ 2, 1, 6 ], [ 0, 2
] ), ([ 2, 3, 5 ], [ 1, 3, 5 ], [ 0 ] ), ( [  ], [ 4,
4, 7 ], [ 0, 1, 2 ] ) ]

Aclarar que en ningun caso, tanto las
listas de entrada como la de salida, tienen obligatoriamente que estar ordenadas, pero
si facilita la solucion o implica una mejora en la eficiencia pueden ser ordenadas.



Gracias de antemano.


Saludos,
Boris.









---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100305/ab33d841/attachment.html>


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