• 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有序字典

相关文章

  • tensorboard实现同时显示训练曲线和测试曲线
  • python基于phantomjs实现导入图片
  • 使用Python获取Linux系统的各种信息
  • python实现域名系统(DNS)正向查询的方法
  • python获取一组数据里最大值max函数用法实例
  • 详解python 字符串和日期之间转换 StringAndDate
  • TFRecord格式存储数据与队列读取实例
  • Python fileinput模块使用实例
  • python元组操作实例解析
  • python文件读写并使用mysql批量插入示例分享(python操作mysql)

文章分类

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

最近更新的内容

    • 简单介绍Python的Django框架的dj-scaffold项目
    • python3中int(整型)的使用教程
    • 使用python绘制常用的图表
    • 详解Python的迭代器、生成器以及相关的itertools包
    • 介绍Python的Django框架中的QuerySets
    • python使用multiprocessing模块实现带回调函数的异步调用方法
    • Pycharm学习教程(5) Python快捷键相关设置
    • 在ironpython中利用装饰器执行SQL操作的例子
    • python中反射用法实例
    • 关于Python面向对象编程的知识点总结

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

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