[Python-es] Convertir de mutable a inmutable

Pepe Aracil pepe en diselpro.com
Lun Abr 18 18:24:22 CEST 2011


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.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110418/3a960595/attachment.html>


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