python字典的底层原理

python字典的底层原理

1、版本3.6后,字典的底层数据结构发生了变化。

2、实际数据存储和索引分开存储。indices是将数据存储在二维数组中,其他内容保持不变。这保证了Dictionary在添加新键值时按顺序保存。

实例

my_dict['address'] = 'xxx'
my_dict['salary'] = 999999
 
 
## 此时的内存示意图
indices = [1, 0, None, None, None, None, 2, None]
 
entries = [[-5954193068542476671, 指向name的指针, 执行kingname的指针],
          [9043074951938101872, 指向address的指针,指向xxx的指针],
          [7324055671294268046, 指向salary的指针, 指向999999的指针]
         ]

发表评论

后才能评论