[pyar] Necesito una estructura para deduplicar diccionarios complejos

Daniel Moisset dmoisset en machinalis.com
Jue Abr 30 10:37:29 ART 2015


Otra cosa que no te pregunte: es un *arbol* (como decis en el email), es
decir los dicts tienen adentro dicts que tienen dicts, y queres deduplicar
recursivamente? O es un diccionario plano y queres deduplicar los values?
(el codigo que mandas parece ser mas para ese caso, no se mete
recursivamente)

Saludos,



2015-04-30 10:31 GMT-03:00 Daniel Moisset <dmoisset en machinalis.com>:

> El diccionario se construye afuera? Es un poco mas facil construirlo
> deduplicado que deduplicarlo luego
>
> El contenido del diccionario es inmutable? Si no lo es, que  puede cambiar
> (claves, contenido)
>
> Para todo hay soluciones piolas, pero cuan piolas depende bastante de tus
> respuestas a esas preguntas.
>
> Saludos,
>     D.
>
> 2015-04-30 9:14 GMT-03:00 Facundo Batista <facundobatista en gmail.com>:
>
>> Mi problema es: estoy construyendo un árbol gigante (en las pruebas,
>>
>> con un 1% de los datos, termino con 660 mil nodos), me di cuenta que
>> al final, MUCHOS nodos tienen el mismo subtree abajo.
>>
>> Como tengo problemas de memoria, se me ocurrió deduplicarlos (esto es,
>> en vez de tener dos diccionarios iguales, tener el mismo dos veces).
>>
>> El código que hace esto bien (pero de forma terriblemente lenta), es
>> el siguiente:
>>
>>         # llego acá con "data" que es el dict a deduplicar
>>         for prev in self._deduplic:
>>             if prev == data:
>>                 data = prev
>>                 break
>>         else:
>>             self._deduplic.append(data)
>>
>> (mismo código: http://linkode.org/C3r3o25PETWAB3nL57LqI2 )
>>
>> ¿Cómo se les ocurre hacer esto mismo pero más rápido?
>>
>> ¡Gracias! Slds.
>>
>> --
>> .    Facundo
>>
>> Blog: http://www.taniquetil.com.ar/plog/
>> PyAr: http://www.python.org/ar/
>> Twitter: @facundobatista
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
>
> --
> Daniel F. Moisset - Technical Leader
> www.machinalis.com
> Skype: @dmoisset
>



-- 
Daniel F. Moisset - Technical Leader
www.machinalis.com
Skype: @dmoisset
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150430/a7678279/attachment.html>


More information about the pyar mailing list