python中的collections模块OrderedDict字典功能

from collections import OrderedDict

OrderedDict这个字典和python 普通的字典不一样,它是严格按照输入的顺序拍了每个字典元素的。例如

下面看例子  普通的字典,如果相同的元素,仅仅顺序不一样,但是字典是相同的。

>>> from collections import OrderedDict
>>> aaa={} #首先定义普通的字典
>>> aaa['a']='111'
>>> aaa['b']='12'
>>> aaa['c']='123'
>>> for k,v in aaa.items():
...     print(k,v)
...
a 111
b 12
c 123
>>> bbb={}
>>> bbb['c']='123'
>>> bbb['b']='12'
>>> bbb['a']='111'
>>> for k,v in bbb.items():
...     print(k,v)
...
c 123
b 12
a 111
>>> print(bbb)
{'c': '123', 'b': '12', 'a': '111'} # 虽然存储顺序不一样,但是aaa和bbb是相同的
>>> print(aaa)
{'a': '111', 'b': '12', 'c': '123'}# 虽然存储顺序不一样,但是aaa和bbb是相同的
>>> d={}
>>> d['a']='A'
>>> d['b']='B'
>>> d['c']='C'
>>> d['1'] = '1'
>>> for k,v in d.items():
...     print (k,v)
...
a A
b B
c C
1 1
>>> print(aaa== bbb)
True   # 虽然存储顺序不一样,但是aaa和bbb是相同的
>>>

但是在OrderedDict字典中   如果元素相同,仅仅顺序不同,那么这两个字典就是不同的

>>> import collections
>>> d4=collections.OrderedDict()
>>> d4['a']='A'
>>> d4['b']='B'
>>> d4['c']='C'
>>> d5=collections.OrderedDict()
>>> d5['c']='C'
>>> d5['a']='A'
>>> d5['b']='B'
>>> print(d4)
OrderedDict([('a', 'A'), ('b', 'B'), ('c', 'C')])
>>> print(d5)
OrderedDict([('c', 'C'), ('a', 'A'), ('b', 'B')])
>>>
>>> print(d4==d5)
False   # 元素都相同,只是顺序不同,结果就是不相同
>>>

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值