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 list 合并连接字符串的方法
Mar 09 Python
Python 字符串操作实现代码(截取/替换/查找/分割)
Jun 08 Python
pyqt4教程之messagebox使用示例分享
Mar 07 Python
Python实现抓取城市的PM2.5浓度和排名
Mar 19 Python
举例区分Python中的浅复制与深复制
Jul 02 Python
Python爬取国外天气预报网站的方法
Jul 10 Python
Django 响应数据response的返回源码详解
Aug 06 Python
Python识别html主要文本框过程解析
Feb 18 Python
python和php哪个更适合写爬虫
Jun 22 Python
解决pip install psycopg2出错问题
Jul 09 Python
如何通过python检查文件是否被占用
Dec 18 Python
Pytorch使用shuffle打乱数据的操作
May 20 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 jquery 多文件上传简单实例
2013/12/23 PHP
php实现telnet功能示例
2014/04/08 PHP
php操作XML、读取数据和写入数据的实现代码
2014/08/15 PHP
php微信公众平台开发之获取用户基本信息
2015/08/17 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
Javascript异步编程的4种方法让你写出更出色的程序
2013/01/17 Javascript
JavaScript类属性的访问方式详解
2014/02/11 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
2014/04/06 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
学习vue.js条件渲染
2016/12/03 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
js定时器+简单的动画效果实例
2017/11/10 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
Node 代理访问的实现
2019/09/19 Javascript
谈谈IntersectionObserver懒加载的具体使用
2019/10/15 Javascript
python根据出生年份简单计算生肖的方法
2015/03/27 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
简单了解Django ContentType内置组件
2019/07/23 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
医学毕业生自荐信
2013/10/11 职场文书
欠款证明
2015/06/24 职场文书
医院病假条怎么写
2015/08/17 职场文书
请学会珍惜眼前,因为人生没有下辈子!
2019/11/12 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
MySQL 可扩展设计的基本原则
2021/05/14 MySQL
uni-app 微信小程序授权登录的实现步骤
2022/02/18 Javascript