【发布时间】:2020-03-26 11:07:43
【问题描述】:
我想在 python 中创建一组字典。我知道如何制作字典列表并将其转换为集合,但我想将字典添加到集合中。谁能帮我? 当我尝试以下代码时出现此错误: “发生异常:TypeError 不可散列类型:'dict'”
C = set()
A = {'a':1, 'c':2, 'd':3}
B = {'c':3, 'd':4, 2:5 }
C.add(A)
C.add(B)
谢谢
【问题讨论】:
-
这是不可能的,因为正如错误所说,
dict类型不可散列。这是因为它们可以在set中进行更改,这使得拥有set的原因无效。在 pypi 的某处有一个frozendict。 -
正如@quamrana 所说,dict 是不可散列的,因此不能放在集合中。我很好奇你的声明
I know how to make a list of dictionaries and convert it to set,因为将一个字典列表转换为一组字典会有同样的问题。你能展示你用来实现这个目标的代码吗 -
我不知道您的应用程序,但根据字典的内容,您可能能够将其转换为
JSON字符串并存储它。然后,当然,您必须在需要时“重构”字典。
标签: python python-3.x dictionary set