23 - 字典键值支持哪些数据类型
【摘要】 1. 有哪些数据类型不能作为字典键值的类型
列表字典
d = {}
d['name'] = 'Bill'
d[10] = 20
d[True] = False
d[12.3] = 20.1
d[(1, 2, 3)] = [4 ,5 ,6]
class Person: pass
p1 = Person()
p2 = Person()
d[p1] = 'p1'
...
1. 有哪些数据类型不能作为字典键值的类型
- 列表
- 字典
d = {}
d['name'] = 'Bill'
d[10] = 20
d[True] = False
d[12.3] = 20.1
d[(1, 2, 3)] = [4 ,5 ,6]
class Person: pass
p1 = Person()
p2 = Person()
d[p1] = 'p1'
d[p2] = 'p2'
for k,v in d.items(): print(k, ' - ', v) print(d[12.3])
# 无法哈希
# d[[1, 2, 3]] = 3
# d[{'a': 3}] = 4
name - Bill
10 - 20
True - False
12.3 - 20.1
(1, 2, 3) - [4, 5, 6]
<__main__.Person object at 0x000001C757A3FE48> - p1
<__main__.Person object at 0x000001C75802D0B8> - p2
20.1
2. 为什么列表和字典类型的值不能作为字典的键值
- key 是不能变的,列表和字典的值是可以变化的,一旦变化,就再也找不到value 了
文章来源: ruochen.blog.csdn.net,作者:若尘,版权归原作者所有,如需转载,请联系作者。
原文链接:ruochen.blog.csdn.net/article/details/104345080
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)