python模块简介之有序字典(OrderedDict)

python模块简介之有序字典(OrderedDict),第1张

概述有序字典-OrderedDict简介示例有序字典和通常字典类似,只是它可以记录元素插入其中的顺序,而一般字典是会以任意的顺序迭代的。参见下面的例子:

有序字典-OrderedDict简介

示例

有序字典和通常字典类似,只是它可以记录元素插入其中的顺序,而一般字典是会以任意的顺序迭代的。参见下面的例子:

import collectionsprint '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,vprint '\norderedDict:'d = collections.OrderedDict()d['a'] = 'A'd['b'] = 'B'd['c'] = 'C'd['d'] = 'D'd['e'] = 'E'for k,v

运行结果如下:

-> python test7.pyRegular dictionary:a Ac Cb Be Ed DOrderedDict:a Ab Bc Cd De E

可以看到通常字典不是以插入顺序遍历的。

相等性

判断两个有序字段是否相等(==)需要考虑元素插入的顺序是否相等

import collectionsprint '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 == d2print '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.pydict    : TrueOrderedDict: False

而当判断一个有序字典和其它普通字典是否相等只需判断内容是否相等。

注意

OrderedDict 的构造器或者 update() 方法虽然接受关键字参数,但因为python的函数调用会使用无序的字典来传递参数,所以关键字参数的顺序会丢失,所以创造出来的有序字典不能保证其顺序。

参考资料

https://docs.python.org/2/library/collections.html#collections.OrderedDict
https://pymotw.com/2/collections/ordereddict.html

总结

以上是内存溢出为你收集整理的python模块简介之有序字典(OrderedDict)全部内容,希望文章能够帮你解决python模块简介之有序字典(OrderedDict)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1203313.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存