• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python中OrderedDict的使用方法详解

python中OrderedDict的使用方法详解

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python ordereddict,ordereddict,ordereddict 强转,python开发技术详解,python os模块详解等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

很多人认为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


</div>

输出:

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

</div>

输出:

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)])
</div>

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

</div>

您可能想查找下面的文章:

  • python中OrderedDict的使用方法详解
  • python中OrderedDict的使用方法详解
  • python模块简介之有序字典(OrderedDict)
  • Python的collections模块中的OrderedDict有序字典
  • Python的collections模块中的OrderedDict有序字典

相关文章

  • 详解Python中expandtabs()方法的使用
  • 在Python的Django框架中显示对象子集的方法
  • Python线程的两种编程方式
  • Python ZipFile模块详解
  • Python中使用SAX解析xml实例
  • python使用socket创建tcp服务器和客户端
  • 详解Python中使用base64模块来处理base64编码的方法
  • Python处理json字符串转化为字典的简单实现
  • centos系统升级python 2.7.3
  • python基础知识小结之集合

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 详解Django框架中用户的登录和退出的实现
    • Python脚本实现格式化css文件
    • 浅谈Python单向链表的实现
    • Python中的字典遍历备忘
    • Python yield使用方法示例
    • python不带重复的全排列代码
    • Python远程桌面协议RDPY安装使用介绍
    • Python字符串的encode与decode研究心得乱码问题解决方法
    • python获取当前用户的主目录路径方法(推荐)
    • 在Django中使用Sitemap的方法讲解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有