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中的hashlib和base64加密模块使用实例
Sep 02 Python
朴素贝叶斯算法的python实现方法
Nov 18 Python
Python的gevent框架的入门教程
Apr 29 Python
简单上手Python中装饰器的使用
Jul 12 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
Jan 16 Python
python代码 输入数字使其反向输出的方法
Dec 22 Python
Python数据结构与算法(几种排序)小结
Jun 22 Python
用Python爬取QQ音乐评论并制成词云图的实例
Aug 24 Python
Pytorch提取模型特征向量保存至csv的例子
Jan 03 Python
jupyter 实现notebook中显示完整的行和列
Apr 09 Python
Django多层嵌套ManyToMany字段ORM操作详解
May 19 Python
python3代码输出嵌套式对象实例详解
Dec 03 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获取http请求的头信息实现步骤
2012/12/16 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
Javascript document.referrer判断访客来源网址
2020/05/15 Javascript
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
2010/11/11 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
jquery动态分页效果堪比时光网
2014/09/25 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
2016/02/18 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
JS基于贪心算法解决背包问题示例
2017/11/27 Javascript
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
如何在微信小程序里面退出小程序的方法
2019/04/28 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
2020/09/22 Javascript
Python对列表排序的方法实例分析
2015/05/16 Python
Python 专题三 字符串的基础知识
2017/03/19 Python
python抓取网页中链接的静态图片
2018/01/29 Python
Django处理Ajax发送的Get请求代码详解
2019/07/29 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
python中调试或排错的五种方法示例
2019/09/12 Python
Pytorch的mean和std调查实例
2020/01/02 Python
python绘制汉诺塔
2021/03/01 Python
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
物业管理求职自荐信
2013/09/25 职场文书
动物科学专业毕业生的自我评价
2013/11/29 职场文书
给医务人员表扬信
2014/01/12 职场文书
校庆标语集锦
2014/06/25 职场文书
蛋糕店创业计划书范文
2014/09/21 职场文书
pytorch查看网络参数显存占用量等操作
2021/05/12 Python
JS实现扫雷项目总结
2021/05/19 Javascript