[pyar] variable que referencia a otra

Javier Marcon javiermarcon en gmail.com
Jue Mar 20 14:05:22 ART 2014


El 20/03/14 10:02, Facundo Batista escribió:
> 2014-03-20 9:35 GMT-03:00 Javier Marcon <javiermarcon en gmail.com>:
>
>> Gracias a todos. Que es lo malo de tener un diccionario que sea una
>> referencia a datos de un diccionario recursivo? Cual es la forma que
> Eso no suena malo, parece de lo más normal.
>
> Lo que es raro es que lo quieras hacer con *variables*.
>
En realidad yo lo quiero hacer con una lista que cada elemento de la
lista referencie a un elemento de un diccionario recursivo. Por ejemplo:

Por ejemplo yo tengo esto:

datos = {
    "a": "pepe",
    "b": {"b1": "casa", "b3": "ojota", "b4":
        [{"asd": {"aaa": 1, "bbb": False}}, {"dss": "asdf"}]},
    "d": {"rrr": True, "jj": 9}
}

def retrieve(parametros=(), datos={}):
    z = ()
    for x in parametros:
        z = z + (datos[x], )
    return z

print retrieve( ("a","b[b1]"), datos )
print retrieve( ("b[b4][0][asd][bbb]","d[jj]"), datos )

Pero al correrlo me da error cauando quiere hacer el primer print:
        z = z + (datos[x], )
KeyError: 'b[b1]'

Como puedo hacer eso pero para que funcione?

Gracias,

Javier.


More information about the pyar mailing list