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实现随机密码字典生成器示例
Apr 09 Python
Python程序员鲜为人知但你应该知道的17个问题
Jun 04 Python
python求列表交集的方法汇总
Nov 10 Python
使用Python的Scrapy框架编写web爬虫的简单示例
Apr 17 Python
Python读写unicode文件的方法
Jul 10 Python
Python实现的简单模板引擎功能示例
Sep 02 Python
Django csrf 两种方法设置form的实例
Feb 03 Python
使用python快速实现不同机器间文件夹共享方式
Dec 22 Python
Django 路由层URLconf的实现
Dec 30 Python
Django框架models使用group by详解
Mar 11 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
Jun 24 Python
如何在Anaconda中打开python自带idle
Sep 21 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 error_log 函数的使用
2009/04/13 PHP
php 错误处理经验分享
2011/10/11 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
原生JS轮播图插件
2017/02/09 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
vue动画效果实现方法示例
2019/03/18 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
JSON获取属性值方法代码实例
2020/06/30 Javascript
python基础教程之字典操作详解
2014/03/25 Python
Python实现多线程下载文件的代码实例
2014/06/01 Python
python错误处理详解
2014/09/28 Python
Python的迭代器和生成器使用实例
2015/01/14 Python
用Python的Django框架编写从Google Adsense中获得报表的应用
2015/04/17 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
2018/04/21 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
pytorch 准备、训练和测试自己的图片数据的方法
2020/01/10 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
Farfetch中文官网:奢侈品牌时尚购物平台
2020/03/15 全球购物
工作检讨书怎么写
2014/10/10 职场文书
春秋淹城导游词
2015/02/11 职场文书
幼儿园个人总结
2015/02/28 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
汉字听写大会观后感
2015/06/12 职场文书
2015年物业公司保洁工作总结
2015/10/22 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL