详解Python字典的底层原理——哈希表(Python面试必备)
作者:Loren no hurry
2019-06-9
Python面试经常会被问到:
你能说一说Python字典的底层实现原理吗?
这个问题可以从三个方面来回答:
1.python字典及其特性
字典是Python的一种可变、无序容器数据结构,它的元素以键值对的形式存在,键值唯一,它的特点搜索速度很快:数据量增加10000倍,搜索时间增加不到2倍;当数据量很大的时候,字典的搜索速度要比列表快成百上千倍1。
2.哈希表
Python字典的底层实现是哈希表。什么是哈希表,简单来说就是一张带索引和存储空间的表,对于任意可哈希对象,通过哈希索引的计算公式:hash(hashable)%k(对可哈希对象进行哈希计算,然后对结果进行取余运算),可将该对象映射为0到k-1之间的某个表索引,然后在该索引所对应的空间进行变量的存储/读取等操。
哈希运算结果 | 取余运算结果 | 索引 | 键值对 |
---|---|---|---|