[Python-es] Convertir de mutable a inmutable

Nekmo contacto en nekmo.com
Lun Abr 18 19:14:19 CEST 2011


en JSON las claves de los diccionarios solo pueden ser strings, y al
ser los strings objetos inmutables, no tendrás el problema del que
hablas.

Por cierto, usa el módulo json, eval es completamente inseguro y nada
recomendable.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: contacto en nekmo.com
XMPP/Jabber: contacto en nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 18 de abril de 2011 18:24, Pepe Aracil <pepe en diselpro.com> escribió:
> Hola Lista.
>
> Tengo que cachear objetos JSON, es decir puedo encontrarme con listas y
> diccionarios
> que son mutables y por tanto al no  ser "hashables" no pueden formar parte
> de las keys
> de un diccionario.
>
> Una idea es pasar todos los objetos mutables (diccionarios y listas) a
> inmutables (tuplas)
> mediante una función recursiva.
>
> Ejemplo:
> {"method":"foo", "params":["sota","caballo"]}   -->  (("method","foo"),
> (params,("sota","caballo")))
> Este sistema se me antoja algo "Gastón" en cuanto a ciclos CPU
>
> El otro método consiste en usar la representación en cadena del objeto
> usando repr(objeto):
> repr({"method":"foo", "params":["sota","caballo"]}) -> '{"method":"foo",
> "params":["sota","caballo"]}'
>
>
> ¿Alguna idea más al respecto?
>
> Gracias.
>
>
>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


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