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

发布于 2021-01-29 19:35:48

我有这段代码:

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

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

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

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

关注者
0
被浏览
77
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    从错误中,我推断这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是什么以及它们包含什么的更多上下文中,我们将能够为您提供更好的帮助。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看