- Python日常
内容展示: ①:字典键值不支持的数据类型
# 列表和字典
d = {}
d['name'] = 'Bill'
d[10] = 20
d[True] = False
d[12.3] = 24.6
d[(1,2,3)] = [4,5,6]
class Person:
pass
p1 = Person()
p2 = Person()
d[p1] = 'p1'
d[p2] = 'p2'
print(d)
#d[[1,2,3]] = 3
#d[{'a':2}] = 2
# 因为字典的key是不能改变的。但列表和字典的值是可变的,一旦变化,就再也找不到对应的value,因此列表和字典不可作为字典的键值。
总结:
1.
列表和字典不被字典的键值支持。因为列表和字典是可变的,一旦变化,对应的value即消失找不到。简而言之,可变的即不可作为字典的键值
2.
已知的可哈希(不可变)的数据类型: int, str, tuple, bool
不可哈希(可变)的数据类型: list, dict, set
- CSDN Python日常 第【2】13 篇
- 下一篇链接



