python中OrderedDict的使用方法详解
发布时间 - 2026-01-11 00:59:46 点击率:次很多人认为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
# ordereddict
# python3
# ordered
# dict
# Python的collections模块中的OrderedDict有序字典
# python 中的collections.OrderedDict() 用法
# python模块简介之有序字典(OrderedDict)
# Python OrderedDict字典排序方法详解
# Python标准库使用OrderedDict类的实例讲解
# Python OrderedDict的使用案例解析
# 一文详细介绍Python中的OrderedDict对象
# 几个
# 也会
# 有个
# 子类
# 很多人
# 它是
# 英文
# 可以看到
# 再看
# 带了
# 大家多多
# 存了
# 实现了
# class
# dictionary
# py
# pre
# print
# import
# brush
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
Laravel如何处理表单验证?(Requests代码示例)
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
成都网站制作公司哪家好,四川省职工服务网是做什么用?
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何在IIS服务器上快速部署高效网站?
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
Laravel怎么判断请求类型_Laravel Request isMethod用法
Laravel Docker环境搭建教程_Laravel Sail使用指南
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
Mybatis 中的insertOrUpdate操作
JS实现鼠标移上去显示图片或微信二维码
实例解析angularjs的filter过滤器
香港服务器租用每月最低只需15元?
浅述节点的创建及常见功能的实现
如何在新浪SAE免费搭建个人博客?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
LinuxShell函数封装方法_脚本复用设计思路【教程】
网站页面设计需要考虑到这些问题
Python3.6正式版新特性预览
如何快速查询网址的建站时间与历史轨迹?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
MySQL查询结果复制到新表的方法(更新、插入)
在centOS 7安装mysql 5.7的详细教程
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
5种Android数据存储方式汇总
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
Laravel如何使用Gate和Policy进行授权?(权限控制)
图册素材网站设计制作软件,图册的导出方式有几种?
Swift开发中switch语句值绑定模式
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
如何在自有机房高效搭建专业网站?
Laravel如何使用Vite进行前端资源打包?(配置示例)
Linux系统命令中tree命令详解
bing浏览器学术搜索入口_bing学术文献检索地址
Linux后台任务运行方法_nohup与&使用技巧【技巧】
jQuery 常见小例汇总
Laravel怎么连接多个数据库_Laravel多数据库连接配置
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
北京企业网站设计制作公司,北京铁路集团官方网站?
jQuery中的100个技巧汇总
Laravel怎么实现验证码(Captcha)功能
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
Laravel API资源类怎么用_Laravel API Resource数据转换
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】

