什么是可散列的数据类型
如果一个对象是可散列的,那么在这个对象的生命周期中,他的散列值是不变的,而且这个对象需要实现__hash__()方法。另外可散列对象还要有__qe__()方法。这样才能跟其他键做比较。如果两个可散列对象是相等的。那么他们的散列值一定是一样的。
原子不可变数据类型(str, bytes和数值类型)都是可散列类型,frozenset也是可散列的,因为根据其定义。frozenset里只能容纳可散列类型。元组的话。只有当一个元组包含的所有元素都是可散列类型的情况下,他才是可散列的。
字典推导
dict,defaultdict,orderedDict常见方法
字典的变种,除了dict,defaultdict之外的不同映射类型
不可变的映射类型
集合论
创建集合最好用
a = {1,2,3}而不是a = set([1,2,3])前者效率更高
集合推导
集合的操作
集合的比较运算符
其他方法
dict和set的背后