Python 哈希表与可哈希对象
哈希表(散列表)
哈希是从 Hash 音译过来的,哈希表(hashtable),也叫做散列表。
哈希表是键值对的无序集合,其每个键都是唯一的,核心算法是通过索引去查找值,Python 中的字典符合哈希表结构,字典中每个键对应一个值,my_dict={"key1":"value1","key2":"value2"}
。
哈希是使用算法将任意大小的数据映射到固定长度输出的过程,该输出就是哈希值。
哈希算法可以创建高性能的数据结构,该结构可以快速存储和访问大量数据,哈希值通过哈希函数计算。
哈希函数,本质上是键到值的映射关系;
哈希表本质上就是一个数组,存储的是经过哈希函数运算之后得到的值;
哈希值是唯一标识数据的固定长度的数值。
这些都属于概念层面的知识,初期了解即可,后面随着应用会逐步掌握。
可哈希与不可哈希
这部分在 官方文档 说的比较绕,简单说一下的结论(也是大家共识的),一个对象(Python 中万物皆对象)在生命周期内,保持不变,就是可哈希的(hashable)。
还有一个更简单的证明办法,在 Pyt