我有这段代码:
for element in json[referenceElement].keys():
当我运行该代码时,我收到此错误:
TypeError:不可用类型:'dict'
该错误的原因是什么,我该怎么做才能解决?
答案 0 :(得分:75)
从错误中,我推断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
类型及其包含内容的更多背景信息,如果两种解决方案均无效,我们将能够更好地为您提供帮助。
答案 1 :(得分:1)
对我来说似乎是通过调用keys方法,当你正在查找列表或元组时,你将返回python一个字典对象。因此,尝试获取字典中的所有键,将它们放入列表中,然后使用for循环。