摘要:有序字典简介示例有序字典和通常字典类似,只是它可以记录元素插入其中的顺序,而一般字典是会以任意的顺序迭代的。
有序字典-OrderedDict简介 示例
有序字典和通常字典类似,只是它可以记录元素插入其中的顺序,而一般字典是会以任意的顺序迭代的。参见下面的例子:
import collections print "Regular dictionary:" d = {} d["a"] = "A" d["b"] = "B" d["c"] = "C" d["d"] = "D" d["e"] = "E" for k, v in d.items(): print k, v print " OrderedDict:" d = collections.OrderedDict() d["a"] = "A" d["b"] = "B" d["c"] = "C" d["d"] = "D" d["e"] = "E" for k, v in d.items(): print k, v
运行结果如下:
-> python test7.py Regular dictionary: a A c C b B e E d D OrderedDict: a A b B c C d D e E
可以看到通常字典不是以插入顺序遍历的。
相等性判断两个有序字段是否相等(==)需要考虑元素插入的顺序是否相等
import collections print "dict :", d1 = {} d1["a"] = "A" d1["b"] = "B" d1["c"] = "C" d1["d"] = "D" d1["e"] = "E" d2 = {} d2["e"] = "E" d2["d"] = "D" d2["c"] = "C" d2["b"] = "B" d2["a"] = "A" print d1 == d2 print "OrderedDict:", d1 = collections.OrderedDict() d1["a"] = "A" d1["b"] = "B" d1["c"] = "C" d1["d"] = "D" d1["e"] = "E" d2 = collections.OrderedDict() d2["e"] = "E" d2["d"] = "D" d2["c"] = "C" d2["b"] = "B" d2["a"] = "A" print d1 == d2
运行结果如下:
-> python test7.py dict : True OrderedDict: False
而当判断一个有序字典和其它普通字典是否相等只需判断内容是否相等。
注意OrderedDict 的构造器或者 update() 方法虽然接受关键字参数,但因为python的函数调用会使用无序的字典来传递参数,所以关键字参数的顺序会丢失,所以创造出来的有序字典不能保证其顺序。
参考资料https://docs.python.org/2/lib...
https://pymotw.com/2/collecti...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/44298.html
摘要:并且中会显示,的版本在中已经不再支持了。接下来再看下以上版本的效果以版本为例从上图可以看出,在新的版本中,针对的存储已经变为有序,在遍历和打印的时候,会按照存储的顺序进行取值。再补充一点之前介绍到,在字典中,是唯一的。 之前写了文章介绍python中的列表和字典,在文章中描述到了python...
摘要:表容量更新的前后,它的键之间的相对顺序是会变化的,因此字典的元素是无序的。而且字典扩容和缩容时要按照的顺序来保持字典始终有序。旧的字典总会预留大于的容量的位置,防止碰撞过多影响效率。 python3.7的字典是有序的 旧结构 python3.7之前的字典结构,经典粗暴的hash表实现方式,这样的话每次hash表的扩容和缩容都可能导致hash值的改变。 hash表容量更新的前后,它的键之...
摘要:我们用函数,来简单快捷地创建这个字典输出结果与原先代码一致。示例代码如下版本为无序字典有序字典输出的结果为无序字典有序字典默认字典是内建类的一个子类,第一个参数为属性提供初始值,默认为。 字典(dict)结构是Python中常用的数据结构,笔者结合自己的实际使用经验,对字典方面的相关知识做个小结,希望能对读者一些启发~ 创建字典 常见的字典创建方法就是先建立一个空字典,然后逐一...
摘要:上一篇文章实用技法第篇一键多值字典下一篇文章实用技法第篇字典上对数据执行计算求最小值最大值排序需求 上一篇文章:Python实用技法第5篇:一键多值字典下一篇文章:Python实用技法第7篇:字典上对数据执行计算:求最小值、最大值、排序 1、需求
阅读 2026·2023-04-26 01:33
阅读 1658·2023-04-26 00:52
阅读 1034·2021-11-18 13:14
阅读 5392·2021-09-26 10:18
阅读 2900·2021-09-22 15:52
阅读 1487·2019-08-29 17:15
阅读 3016·2019-08-29 16:11
阅读 1037·2019-08-29 16:11