Python实现的字典排序操作示例【按键名key与键值value排序】


Posted in Python onDecember 21, 2018

本文实例讲述了Python实现的字典排序操作。分享给大家供大家参考,具体如下:

对字典进行排序?这其实是一个伪命题,搞清楚python字典的定义---字典本身默认以key的字符顺序输出显示---就像我们用的真实的字典一样,按照abcd字母的顺序排列,并且本质上各自没有先后关系,是一个哈希表的结构:

但实际应用中我们确实有这种排序的“需求”-----按照values的值“排序”输出,或者按照别的奇怪的顺序进行输出,我们只需要把字典转化成list或者tuple,把字典每一对键值转化为list中的两位子list或者子tuple再输出,就可以达到我们的目的:

举例如下:

x={2:1,3:4,4:2,1:5,5:3}
import operator
sorted_x=sorted(x.items(),key=operator.itemgetter(0))#按照item中的第一个字符进行排序,即按照key排序
print x
print sorted_x
print dict(sorted_x)

输出结果为:

{1: 5, 2: 1, 3: 4, 4: 2, 5: 3}
[(1, 5), (2, 1), (3, 4), (4, 2), (5, 3)]
{1: 5, 2: 1, 3: 4, 4: 2, 5: 3}

字典始终都按照key从小到大排序,与定义过程无关,转化为list嵌套tuple这里也依然按着key排序

x={2:1,3:4,4:2,1:5,5:3}
import operator
sorted_x=sorted(x.items(),key=operator.itemgetter(1))#这里改为按照item的第二个字符排序,即value排序
print x
print sorted_x
print dict(sorted_x)

输出结果为:

{1: 5, 2: 1, 3: 4, 4: 2, 5: 3}
[(2, 1), (4, 2), (5, 3), (3, 4), (1, 5)]
{1: 5, 2: 1, 3: 4, 4: 2, 5: 3}

字典的顺序依旧不变,但转化为list嵌套tuple格式之后,完成了按照value排序的操作

Python 相关文章推荐
以windows service方式运行Python程序的方法
Jun 03 Python
Python使用matplotlib实现基础绘图功能示例
Jul 03 Python
Python3 导入上级目录中的模块实例
Feb 16 Python
python list多级排序知识点总结
Oct 23 Python
python中for循环变量作用域及用法详解
Nov 05 Python
Python 从attribute到property详解
Mar 05 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
Mar 30 Python
python模拟实现分发扑克牌
Apr 22 Python
Python模拟伯努利试验和二项分布代码实例
May 27 Python
Python读取图像并显示灰度图的实现
Dec 01 Python
python实现发送QQ邮件(可加附件)
Dec 23 Python
python在package下继续嵌套一个package
Apr 14 Python
Python简单获取二维数组行列数的方法示例
Dec 21 #Python
python进行TCP端口扫描的实现
Dec 21 #Python
Python实现将多个空格换为一个空格.md的方法
Dec 20 #Python
python解析json串与正则匹配对比方法
Dec 20 #Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
Dec 20 #Python
python将一个英文语句以单词为单位逆序排放的方法
Dec 20 #Python
Python给定一个句子倒序输出单词以及字母的方法
Dec 20 #Python
You might like
生成静态页面的PHP类
2006/07/15 PHP
PHP音乐采集(部分代码)
2007/02/14 PHP
解析php扩展php_curl.dll不加载的解决方法
2013/06/26 PHP
如何在Ubuntu下启动Apache的Rewrite功能
2013/07/05 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
jquery.pagination.js 无刷新分页实现步骤分享
2012/05/23 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
2014/02/10 Javascript
小议JavaScript中Generator和Iterator的使用
2015/07/29 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
搭建简单的nodejs http服务器详解
2017/03/09 NodeJs
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
利用pm2部署多个node.js项目的配置教程
2017/10/22 Javascript
基于axios封装fetch方法及调用实例
2018/02/05 Javascript
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
2015/04/11 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
python 协程 gevent原理与用法分析
2019/11/22 Python
解决在keras中使用model.save()函数保存模型失败的问题
2020/05/21 Python
文员个人的求职信范文
2013/09/26 职场文书
自荐书范文
2013/12/08 职场文书
行政内勤岗位职责
2014/04/07 职场文书
交通事故赔偿协议书
2014/04/15 职场文书
我的老师教学反思
2014/05/01 职场文书
创建文明城市标语
2014/06/16 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
民主生活会发言材料
2014/10/20 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
青年文明号申报材料
2014/12/23 职场文书
2015年六一儿童节活动总结
2015/02/11 职场文书
详解前端任务构建利器Gulp.js使用指南
2021/04/30 Javascript
防止web项目中的SQL注入
2021/12/06 MySQL
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技