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的指针] ]
以上就是python字典的底层原理,希望对大家有所帮助。
本文链接:http://so.lmcjl.com/news/6683/