全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

python中OrderedDict的使用方法详解

很多人认为python中的字典是无序的,因为它是按照hash来存储的,但是python中有个模块collections(英文,收集、集合),里面自带了一个子类

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 "\nOrder dictionary"
d1 = collections.OrderedDict()
d1['a'] = 'A'
d1['b'] = 'B'
d1['c'] = 'C'
d1['1'] = '1'
d1['2'] = '2'
for k,v in d1.items():
  print k,v


输出:

Regular dictionary
a A
c C
b B

Order dictionary
a A
b B
c C
1 1
2 2

可以看到,同样是保存了ABC等几个元素,但是使用OrderedDict会根据放入元素的先后顺序进行排序。所以输出的值是排好序的。

OrderedDict对象的字典对象,如果其顺序不同那么Python也会把他们当做是两个不同的对象,请看事例:

print 'Regular dictionary:'
d2={}
d2['a']='A'
d2['b']='B'
d2['c']='C'

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

print d2 == d3

print '\nOrderedDict:'
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 d1==d2

输出:

Regular dictionary:
True

OrderedDict:
False

再看几个例子:

 dd = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}
#按key排序
kd = collections.OrderedDict(sorted(dd.items(), key=lambda t: t[0]))
print kd
#按照value排序
vd = collections.OrderedDict(sorted(dd.items(),key=lambda t:t[1]))
print vd

#输出
OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])
OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# python  # ordereddict  # python3  # ordered  # dict  # Python的collections模块中的OrderedDict有序字典  # python 中的collections.OrderedDict() 用法  # python模块简介之有序字典(OrderedDict)  # Python OrderedDict字典排序方法详解  # Python标准库使用OrderedDict类的实例讲解  # Python OrderedDict的使用案例解析  # 一文详细介绍Python中的OrderedDict对象  # 几个  # 也会  # 有个  # 子类  # 很多人  # 它是  # 英文  # 可以看到  # 再看  # 带了  # 大家多多  # 存了  # 实现了  # class  # dictionary  # py  # pre  # print  # import  # brush 


相关文章: 青浦网站制作公司有哪些,苹果官网发货地是哪里?  北京网站制作网页,网站升级改版需要多久?  建站主机无法访问?如何排查域名与服务器问题  如何快速搭建高效WAP手机网站?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  如何配置WinSCP新建站点的密钥验证步骤?  如何用已有域名快速搭建网站?  建站之星展会模版如何一键下载生成?  定制建站价位费用解析与套餐推荐全攻略  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  建站之星如何通过成品分离优化网站效率?  如何通过可视化优化提升建站效果?  建站之星价格显示格式升级,你的预算足够吗?  智能起名网站制作软件有哪些,制作logo的软件?  如何用5美元大硬盘VPS安全高效搭建个人网站?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  香港服务器租用费用高吗?如何避免常见误区?  如何快速搭建高效香港服务器网站?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  音响网站制作视频教程,隆霸音响官方网站?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  如何在阿里云服务器自主搭建网站?  郑州企业网站制作公司,郑州招聘网站有哪些?  建站为何优先选择香港服务器?  如何通过cPanel快速搭建网站?  黑客入侵网站服务器的常见手法有哪些?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  建站之星免费版是否永久可用?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  长沙企业网站制作哪家好,长沙水业集团官方网站?  C#怎么创建控制台应用 C# Console App项目创建方法  如何通过VPS建站实现广告与增值服务盈利?  做企业网站制作流程,企业网站制作基本流程有哪些?  *服务器网站为何频现安全漏洞?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  盘锦网站制作公司,盘锦大洼有多少5G网站?  建站之星代理平台如何选择最佳方案?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  香港服务器部署网站为何提示未备案?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  如何用PHP工具快速搭建高效网站?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  建站之星如何助力企业快速打造五合一网站?  如何在香港服务器上快速搭建免备案网站?  如何在万网主机上快速搭建网站?  如何选择美橙互联多站合一建站方案?  网站建设制作、微信公众号,公明人民医院怎么在网上预约? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。