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中装饰器的用法
Jun 28 Python
Python实现多并发访问网站功能示例
Jun 19 Python
Python基于pygame模块播放MP3的方法示例
Sep 30 Python
Python重新加载模块的实现方法
Oct 16 Python
python,Django实现的淘宝客登录功能示例
Jun 12 Python
对Python 简单串口收发GUI界面的实例详解
Jun 12 Python
python实现简单聊天室功能 可以私聊
Jul 12 Python
Django的models中on_delete参数详解
Jul 16 Python
tensorflow之并行读入数据详解
Feb 05 Python
django使用F方法更新一个对象多个对象字段的实现
Mar 28 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
Apr 08 Python
Lombok插件安装(IDEA)及配置jar包使用详解
Nov 04 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 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
PHP实现微信公众平台音乐点播
2014/03/20 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
PHP实现的统计数据功能详解
2016/12/06 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
用JavaScript获取网页中的js、css、Flash等文件
2006/12/20 Javascript
个人总结的一些关于String、Function、Array的属性和用法
2007/01/10 Javascript
jquery复选框checkbox实现删除前判断
2014/04/20 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
js控制TR的显示隐藏
2016/03/04 Javascript
JS简单测试循环运行时间的方法
2016/09/04 Javascript
原生JS版和jquery版实现checkbox的全选/全不选/点选/行内点选(Mr.Think)
2016/10/29 Javascript
Vue.js轮播图走马灯代码实例(全)
2019/05/08 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
vue中使用echarts的示例
2021/01/03 Vue.js
Django发送html邮件的方法
2015/05/26 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
Python搜索引擎实现原理和方法
2017/11/27 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2018/12/18 Python
微信公众号token验证失败解决方案
2019/07/22 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
让你相见恨晚的十个Python骚操作
2020/11/18 Python
东南亚地区最大的购物网站Lazada新加坡站点:Lazada.sg
2016/07/17 全球购物
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
ONLY德国官方在线商店:购买时尚女装
2017/09/21 全球购物
初始化了一个没有run()方法的线程类,是否会出错?
2014/03/27 面试题
自我评价正确写法范文
2013/12/10 职场文书
十八届三中全会感言
2014/03/10 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
大学辅导员述职报告
2015/01/10 职场文书
教师个人年度总结
2015/02/11 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
交通事故协议书范本
2016/03/19 职场文书