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í:
- TypeError: tipo unhashable: ''dict'' 1 respuesta
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.