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 相关文章推荐
python编写暴力破解FTP密码小工具
Nov 19 Python
Java中重定向输出流实现用文件记录程序日志
Jun 12 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
May 03 Python
深入浅析python继承问题
May 29 Python
python中函数默认值使用注意点详解
Jun 01 Python
python使用matplotlib绘制柱状图教程
Feb 08 Python
python复制文件到指定目录的实例
Apr 27 Python
DRF跨域后端解决之django-cors-headers的使用
Jan 27 Python
Django框架实现的分页demo示例
May 25 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
Jul 19 Python
Pycharm中import torch报错的快速解决方法
Mar 05 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
Sep 20 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
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
2013/06/24 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
表格 隔行换色升级版
2009/11/07 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
IScroll5 中文API参数说明和调用方法
2016/05/21 Javascript
Summernote实现图片上传功能的简单方法
2016/07/11 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
2017/12/27 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
微信小程序使用template标签实现五星评分功能
2018/11/03 Javascript
javascript面向对象程序设计实践常用知识点总结
2019/07/29 Javascript
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
Python字典的核心底层原理讲解
2019/01/24 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
Django 限制访问频率的思路详解
2019/12/24 Python
python中wx模块的具体使用方法
2020/05/15 Python
Python实现一个简单的毕业生信息管理系统的示例代码
2020/06/08 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
Django权限控制的使用
2021/01/07 Python
HTML+CSS3模拟心的跳动实例代码
2017/09/05 HTML / CSS
css3实现书本翻页效果的示例代码
2021/03/08 HTML / CSS
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
解除财产保全担保书
2014/05/20 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
捐款通知怎么写
2015/04/24 职场文书
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android