小编典典

TypeError:不可散列的类型:'dict',当dict用作另一个dict的键时[duplicate]

json

我有这段代码:

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

当我运行该代码时,出现以下错误:

TypeError:无法散列的类型:’dict’

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


阅读 418

收藏
2020-07-27

共1个答案

小编典典

从错误中,我推断出它referenceElement是字典(请参阅下面的repro)。字典不能被散列,因此不能用作另一个字典的键(或本身就是该键!)。

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

您可能意思是for element in referenceElement.keys()for element in json['referenceElement'].keys()。如果这两种解决方案都不起作用,则可以通过更多上下文了解什么是类型json以及referenceElement它们包含什么,我们将能够为您提供更好的帮助。

2020-07-27