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如何自定义分页视图?(Pagination示例)
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
制作企业网站建设方案,怎样建设一个公司网站?
公司网站制作价格怎么算,公司办个官网需要多少钱?
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
微信小程序 scroll-view组件实现列表页实例代码
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
Android仿QQ列表左滑删除操作
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
如何在Windows虚拟主机上快速搭建网站?
个人网站制作流程图片大全,个人网站如何注销?
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
如何获取免费开源的自助建站系统源码?
教学论文网站制作软件有哪些,写论文用什么软件
?
如何为不同团队 ID 动态生成多个独立按钮
如何制作一个表白网站视频,关于勇敢表白的小标题?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
Linux安全能力提升路径_长期防护思维说明【指导】
使用Dockerfile构建java web环境
Laravel怎么调用外部API_Laravel Http Client客户端使用
如何选择可靠的免备案建站服务器?
实例解析Array和String方法
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
Laravel如何实现本地化和多语言支持?(i18n教程)
免费视频制作网站,更新又快又好的免费电影网站?
如何快速生成凡客建站的专业级图册?
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
网站制作企业,网站的banner和导航栏是指什么?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
利用 Google AI 进行 YouTube 视频 SEO 描述优化
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
如何在云服务器上快速搭建个人网站?
Laravel如何实现API版本控制_Laravel版本化API设计方案
php结合redis实现高并发下的抢购、秒杀功能的实例
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
如何在Ubuntu系统下快速搭建WordPress个人网站?
Laravel如何自定义错误页面(404, 500)?(代码示例)
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
如何在万网ECS上快速搭建专属网站?
b2c电商网站制作流程,b2c水平综合的电商平台?
用yum安装MySQLdb模块的步骤方法
javascript中的数组方法有哪些_如何利用数组方法简化数据处理

