Python中OrderedDict用法

转载自:https://blog.csdn.net/u013066730/article/details/58120817,本文只做个人记录学习使用,版权归原作者所有。

Python中的字典对象可以用“键值”的方式存取数据。OrderedDict是它的一个子类,实现了对字典对象中元素的排序。下面代码比较了两种方式的不同:

import collections

print("regular dictionary:")
d={}
d['a']='A'
d['b']='B'
d['c']='C'

for k,v in d.items():
    print(k,v)


print("\nOrderedDict:")
d=collections.OrderedDict()
d['a']='A'
d['b']='B'
d['c']='C'

for k,v in d.items()
    print(k,v)

结果应该是以下这个样子:

Regular dictionary:
a A
c C
b B
 
OrderedDict:
a A
b B
c C

可以看到,同时是保存了ABC三个元素,但是使用OrderedDict会根据放入元素的先后顺序进行排序。由于进行了排序,所以对于两个OrderedDict对象的字典对象元素顺序不同,Python也会把他们当作两个不同的对象。比如下面的代码:

import collections

print("regular dictionary:")
d1={}
d1['a']='A'
d1['b']='B'
d1['c']='C'


d2={}
d2['c']='C'
d2['a']='A'
d2['b']='B'

print(d1==d2)

print("\nordereddict")
d2=collections.OrderedDict()
d2['c']='C'
d2['a']='A'
d2['b']='B'

print(d1==d2)

其结果为

regular dictionary:
True
 
orderedDict:
False

 

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值