[pyar] Necesito una estructura para deduplicar diccionarios complejos

Facundo Batista facundobatista en gmail.com
Jue Abr 30 09:14:04 ART 2015


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


More information about the pyar mailing list