TypeError:unhashable type:'dict',当dict用作另一个dict的键时

Fri*_*ias 63 python hash json

我有这段代码:

for element in json[referenceElement].keys():
Run Code Online (Sandbox Code Playgroud)

当我运行该代码时,我收到此错误:

TypeError:不可用类型:'dict'

导致该错误的原因是什么,我该怎么做才能解决?

mar*_*cog 77

从错误中,我推断这referenceElement是一本字典(见下面的repro).字典不能被散列,因此不能用作另一个字典的键(或者就此而言本身!).

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

你可能意味着for element in referenceElement.keys()或者for element in json['referenceElement'].keys().如果两种解决方案都不起作用,我们将能够更好地为您提供哪些类型json和内容referenceElement以及它们包含的内容.