在python中定义字典,获取TypeError:无法散列的类型:'dict'

时间:2019-11-25 15:19:53

标签: python dictionary

我正在尝试创建如下字典:

frnd_detail1 = {
    {'name':'AD', 'age': 30}, {'name':'AKB', 'age':90},  {'name':'SD', 'age':40}
}

但是我收到以下错误消息:

File "<ipython-input-72-a0d88fef112d>", line 4, in <module>
    {'name':'SD', 'age':40}

TypeError: unhashable type: 'dict'

为什么会这样,请提供一些详细信息

2 个答案:

答案 0 :(得分:0)

您正在通过用大括号{}包围字典来创建set(偶然)。

在Python中,您可以像这样使用{}创建集合:

>>> my_set = {1,2,3}
>>> print(type(my_set))
<type 'set'>

集只能具有可哈希的值。 dict不可散列,这就是您得到错误的原因。您可能想要创建list,而不是像这样用{}替换外部的[]

frnd_detail1 = [{'name': 'AD', 'age': 30}, {'name': 'AKB', 'age': 90}, {'name': 'SD', 'age': 40}]

答案 1 :(得分:0)

我猜您想创建词典字典或词典列表。

如果它是字典,那么您需要给出其值的键,而不仅仅是单独地使用每个字典。

如果它是字典列表,则可以将每个字典追加到列表中。