港服(Server.HK)Python教程:python有序Dict的原理

1、python3.7之后,Dict采用新的数据结构,使新Dict的内存占用也比老款Dict少。 2、新Dict在遍历时…

1、python3.7之后,Dict采用新的数据结构,使新Dict的内存占用也比老款Dict少。

2、新Dict在遍历时与插入顺序一致,具体实现是初始化会生成两个数组,插入值时,在数组二中添加当前数据。

获得当前添加数据所在的下标A,然后对key进行哈希取模计算下标B,最后将下标B的值更新为A。

实例

# 初始的结构
# -1代表还未插入数据
array_1 = [-1, -1, -1, -1, -1, -1, -1, -1]
array_2 = []
 
 
# 插入值后, 他就会变为:
array_1 = [-1, 0, -1, -1, -1, 1, -1, -1]
array_2 = [
 [123456, "key1", 1],
 [234567, "key2", 2],
]

以上就是python有序Dict的原理,希望对大家有所帮助。更多Python学习指路:港服(Server.HK)python教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

为您推荐

港服(Server.HK)Python教程:如何实现对Python中列表的排序?

对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排序 list.sor...

港服(Server.HK)Python教程:python迭代器中的函数整理

1、可以连接迭代器的函数 chain:按顺序将多个迭代器连接成一个迭代器。 Cycle:重复迭代器的所有元素。 Tee:...

港服(Server.HK)Python教程:用Python举例实现逆波兰表达式

逆波兰表达式是编译原理中的一种基本表达式,利用Python语言也可以实现逆波兰表达式的输出,这里举例实践说明: 什么是逆...

Python 程序:检查给定字符串是否为回文

港服(Server.HK)Python教程: 用一个实例写一个 Python 程序来检查给定的字符串是不是回文。在 Py...

港服(Server.HK)Python教程:python3判断字典中key是否存在

今天来说一下如何判断字典中是否存在某个key,一般有两种通用做法,下面为大家来分别讲解一下: 第一种方法:使用自带函数实...
返回顶部