TypeError:不可用types:“字典”,当字典用作另一个字典的关键字

我有这段代码:

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

当我运行该代码时,我得到这个错误:

TypeError:不可能的types:'dict'

这个错误的原因是什么,我能做些什么来解决这个错误?

从错误中,我推断referenceElement是一个字典(见下面的代码)。 字典不能被散列,因此不能作为另一个字典(或其本身!)的关键字。

 >>> 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()或者for element in json['referenceElement'].keys() for element in referenceElement.keys() for element in json['referenceElement'].keys() 。 更多关于jsonreferenceElement是什么types以及它们包含什么types的上下文,如果两个解决scheme都json ,我们将能够更好地帮助您。

在我看来,通过调用keys方法,当它正在查找一个列表或一个元组时,它将返回python一个字典对象。 因此,请尝试将字典中的所有键都放入列表中,然后使用for循环。