当前位置: 首页 > 面试题库 >

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

邵宏达
2023-03-14
问题内容

我有这段代码:

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

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

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

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


问题答案:

从错误中,我推断出它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它们包含什么,我们将能够为您提供更好的帮助。



 类似资料:
  • 问题内容: 我有这段代码: 当我运行该代码时,出现以下错误: TypeError:无法散列的类型:’dict’ 该错误的原因是什么,我该怎么解决? 问题答案: 从错误中,我推断这是一个字典(请参阅下面的repro)。字典不能被散列,因此不能用作另一个字典的键(或本身就是这个键!)。 您可能意思是或。如果这两种解决方案都不起作用,那么在有关什么类型和是什么以及它们包含什么的更多上下文中,我们将能够为

  • 问题内容: 遇到一个似乎很普遍的问题,但我已经完成了研究,并且看不到它在任何地方都被完全重新创建了。当我打印时,我看到了所需的输出。但是,当我打电话给return时,它显示了这个错误。有任何想法吗?非常感谢您的帮助,谢谢。我正在使用Flask 。 这是Traceback(请记住上面的结果在打印): 问题答案: Flask只希望视图返回类似响应的对象。 这表示描述主体,代码和标题的,字符串或元组。您

  • 问题内容: 这是一个双重问题,其中包括理论部分和实际问题: 当将dict归类时: 应该被称为“安全”措施(例如,万一有一些重要的实施细节很重要)?有一个风险,即与Python的未来版本的代码休息,如果是 不 叫?我在这里寻找做一件事情或另一件事情的根本原因(实际上,打电话是安全的)。 我的猜测是,当被调用时,self已经是一个新的空dict对象,因此不需要调用(我确实希望dict首先是空的)。这个

  • 问题内容: 我想编写一个行为类似的自定义类-因此,我继承自。 不过,我的问题是:我需要在我的方法中创建一个私有成员吗?我不明白这一点,因为如果我仅继承自,我已经具有了行为。 谁能指出为什么大多数继承片段看起来像下面的片段? 而不是简单的… 实际上,我认为我怀疑问题的答案是,用户无法直接访问您的词典(即,他们必须使用您提供的访问方法)。 但是,数组访问运算符呢?一个人将如何实现呢?到目前为止,我还没

  • 基本概要 它的原理类似于词典,也就是说有专门的目录页来查找,它并不需要从第一页翻到第二页等等到最后,它只需要查看自己的目录即可 语法: d = {'abb':'12', 'dd':12} d['abb'] 其实类似于js中的对象 const a = { a1:func(){}, b:12, c:'12333' } a.a1 a['a1'] let b = 'b' a[b] 这就是j