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远程登录代码
Apr 29 Python
Python 字符串操作方法大全
Mar 11 Python
Python数据分析之真实IP请求Pandas详解
Nov 18 Python
Python中的探索性数据分析(功能式)
Dec 22 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
Aug 02 Python
springboot配置文件抽离 git管理统 配置中心详解
Sep 02 Python
Django自带的加密算法及加密模块详解
Dec 03 Python
python argparse传入布尔参数false不生效的解决
Apr 20 Python
python异步Web框架sanic的实现
Apr 27 Python
查看keras各种网络结构各层的名字方式
Jun 11 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 26 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
Aug 30 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 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
asp.net和php的区别点总结
2019/10/10 PHP
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
2010/09/15 Javascript
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
Ext中下拉列表ComboBox组件store数据格式用法介绍
2013/07/15 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
jQuery中unbind()方法用法实例
2015/01/19 Javascript
JavaScript判断变量是否为空的自定义函数分享
2015/01/31 Javascript
浅析Bootstrap表格的使用
2016/06/23 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
layui前段框架日期控件使用方法详解
2017/05/19 Javascript
Node.js实现注册邮箱激活功能的方法示例
2018/03/23 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
Python内置模块logging用法实例分析
2018/02/12 Python
使用Django和Python创建Json response的方法
2018/03/26 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
简单了解Django ContentType内置组件
2019/07/23 Python
通过代码实例了解Python sys模块
2020/09/14 Python
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
司法局火灾防控方案
2014/06/05 职场文书
汽车运用工程专业求职信
2014/06/18 职场文书
婚宴致辞
2015/07/28 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技