query print loads dict create python json hash

python - print - TypeError: tipo unhashable: ''dict'', cuando dict se usa como clave para otro dict



python json query (2)

Del error, infiero que referenceElement es un diccionario (ver repro a continuación). Un diccionario no puede ser hash y, por lo tanto, no se puede utilizar como clave para otro diccionario (¡o para el caso en sí mismo!).

>>> d1, d2 = {}, {} >>> d1[d2] = 1 Traceback (most recent call last): File "<input>", line 1, in <module> TypeError: unhashable type: ''dict''

Probablemente se refería for element in referenceElement.keys() o for element in json[''referenceElement''].keys() . Con más contexto sobre qué tipos son json y referenceElement y qué contienen, podremos ayudarlo mejor si ninguna de las soluciones funciona.

Esta pregunta ya tiene una respuesta aquí:

Tengo este pedazo de código:

for element in json[referenceElement].keys():

Cuando ejecuto ese código, obtengo este error:

TypeError: tipo de ajuste insondable: ''dict''

¿Cuál es la causa de ese error y qué puedo hacer para solucionarlo?


Lo que me parece a mí es que al llamar al método de claves vuelves a Python un objeto de diccionario cuando está buscando una lista o una tupla. Intente tomar todas las claves del diccionario, ponerlas en una lista y luego usar el ciclo for.