0
点赞
收藏
分享

微信扫一扫

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'
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 了

​​24 - 对产生器类型的对象使用切片​​


举报

相关推荐

0 条评论