前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >23 - 字典键值支持哪些数据类型

23 - 字典键值支持哪些数据类型

原创
作者头像
ruochen
修改2021-05-24 10:28:37
4760
修改2021-05-24 10:28:37
举报

1. 有哪些数据类型不能作为字典键值的类型

  • 列表
  • 字典
代码语言:txt
复制
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
代码语言:txt
复制
name  -  Bill
代码语言:txt
复制
10  -  20
代码语言:txt
复制
True  -  False
代码语言:txt
复制
12.3  -  20.1
代码语言:txt
复制
(1, 2, 3)  -  [4, 5, 6]
代码语言:txt
复制
<__main__.Person object at 0x000001C757A3FE48>  -  p1
代码语言:txt
复制
<__main__.Person object at 0x000001C75802D0B8>  -  p2
代码语言:txt
复制
20.1

2. 为什么列表和字典类型的值不能作为字典的键值

  • key 是不能变的,列表和字典的值是可以变化的,一旦变化,就再也找不到value 了

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 有哪些数据类型不能作为字典键值的类型
  • 2. 为什么列表和字典类型的值不能作为字典的键值
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档