1. 有哪些数据类型不能作为字典键值的类型
列表和字典
d = {} d['name'] = 'Bill' d[10] = 20 d[True] = 1 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" print(d) print(d[12.3]) # d[[1,2]] = 3 # TypeError: unhashable type: 'list' d[{'a': 3}] = 4 # TypeError: unhashable type: 'dict'
2. 为什么列表和字典类型的值不能作为字典的键值
因为key是不能变的。列表和字典的值是可以变化的,一旦变化,就再也找不到对应的value了。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/245520.html