首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python中定义字典获取TypeError: unhashable type:'dict‘

在python中定义字典获取TypeError: unhashable type:'dict‘
EN

Stack Overflow用户
提问于 2019-11-25 23:19:53
回答 2查看 68关注 0票数 0

我正在尝试创建一个字典,如下所示:

代码语言:javascript
运行
复制
frnd_detail1 = {
    {'name':'AD', 'age': 30}, {'name':'AKB', 'age':90},  {'name':'SD', 'age':40}
}

但我收到以下错误消息:

代码语言:javascript
运行
复制
File "<ipython-input-72-a0d88fef112d>", line 4, in <module>
    {'name':'SD', 'age':40}

TypeError: unhashable type: 'dict'

为什么会这样,请提供一些细节

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-25 23:24:34

你正在创建一个set (我猜是偶然的),用大括号{}括起你的字典。

在Python中,您可以使用{}创建集,如下所示:

代码语言:javascript
运行
复制
>>> my_set = {1,2,3}
>>> print(type(my_set))
<type 'set'>

集合只能具有可哈希的值。dict是不可散列的,这就是为什么你会得到这个错误。您可能希望通过将外部{}替换为[]来创建一个list,如下所示:

代码语言:javascript
运行
复制
frnd_detail1 = [{'name': 'AD', 'age': 30}, {'name': 'AKB', 'age': 90}, {'name': 'SD', 'age': 40}]
票数 0
EN

Stack Overflow用户

发布于 2019-11-25 23:26:50

我猜你想创建一个字典或字典列表。

如果它是一个字典,那么你需要给它的值一个键,而不是单独使用每个字典。

如果它是一个字典列表,你可以将每个字典附加到一个列表中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59034981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档