小编典典

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

python

我有这段代码:

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

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

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

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


阅读 163

收藏
2020-12-20

共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()。如果这两种解决方案都不起作用,那么在有关什么类型jsonreferenceElement是什么以及它们包含什么的更多上下文中,我们将能够为您提供更好的帮助。

2020-12-20