Python OrderedDict的使用案例解析


Posted in Python onOctober 25, 2019

这篇文章主要介绍了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 相关文章推荐
python根据距离和时长计算配速示例
Feb 16 Python
wxPython学习之主框架实例
Sep 28 Python
Python中的XML库4Suite Server的介绍
Apr 14 Python
简单介绍Python中的round()方法
May 15 Python
Python中functools模块函数解析
Mar 12 Python
python 实现对文件夹内的文件排序编号
Apr 12 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
May 21 Python
Python实现SQL注入检测插件实例代码
Feb 02 Python
python安装numpy和pandas的方法步骤
May 27 Python
Python动态语言与鸭子类型详解
Jul 01 Python
matplotlib基础绘图命令之imshow的使用
Aug 13 Python
Python-OpenCV实现图像缺陷检测的实例
Jun 11 Python
python编写计算器功能
Oct 25 #Python
Python实现快速排序的方法详解
Oct 25 #Python
python实现超市商品销售管理系统
Oct 25 #Python
Python列表元素常见操作简单示例
Oct 25 #Python
python实现超市管理系统(后台管理)
Oct 25 #Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
Oct 25 #Python
python+mysql实现个人论文管理系统
Oct 25 #Python
You might like
php验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
php图片裁剪函数
2018/10/31 PHP
BOOM vs RR BO5 第二场 2.14
2021/03/10 DOTA
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
解析JavaScript中delete操作符不能删除的对象
2013/12/03 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
关于AOP在JS中的实现与应用详解
2019/05/06 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
2019/07/18 Javascript
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
python基础教程之popen函数操作其它程序的输入和输出示例
2014/02/10 Python
Python本地与全局命名空间用法实例
2015/06/16 Python
python使用opencv按一定间隔截取视频帧
2018/03/06 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
Python csv文件的读写操作实例详解
2019/11/19 Python
美国知名保健品网站:LuckyVitamin(支持中文)
2017/08/09 全球购物
卡西欧G-SHOCK英国官网: 防水防震手表
2018/01/08 全球购物
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
怎样在程序里获得一个空指针
2015/01/24 面试题
一些.net面试题
2014/10/06 面试题
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
美容师的职业规划书
2013/12/27 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
python 下划线的多种应用场景总结
2021/05/12 Python
MySQL七种JOIN类型小结
2021/10/24 MySQL