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 23 Python
Python微信库:itchat的用法详解
Aug 14 Python
Python不使用int()函数把字符串转换为数字的方法
Jul 09 Python
浅谈python新式类和旧式类区别
Apr 26 Python
详解python函数的闭包问题(内部函数与外部函数详述)
May 17 Python
使用python远程操作linux过程解析
Dec 04 Python
Python中Flask-RESTful编写API接口(小白入门)
Dec 11 Python
Pytoch之torchvision.transforms图像变换实例
Dec 30 Python
Python更新所有已安装包的操作
Feb 13 Python
Python 解析pymysql模块操作数据库的方法
Feb 18 Python
Python使用Numpy模块读取文件并绘制图片
May 13 Python
基于Python实现体育彩票选号器功能代码实例
Sep 16 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 模拟POST|GET操作实现代码
2010/07/20 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
YII2自动登录Cookie总是失效的解决方法
2017/06/28 PHP
js全屏显示显示代码的三种方法
2013/11/11 Javascript
javascript转换静态图片,增加粒子动画效果
2015/05/28 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
BootstrapTable refresh 方法使用实例简单介绍
2017/02/20 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
JavaScript中import用法总结
2019/01/20 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
详解ECMAScript2019/ES10新属性
2019/12/06 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
antd form表单数据回显操作
2020/11/02 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
Python正则表达式非贪婪、多行匹配功能示例
2017/08/08 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
2018/01/23 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
python 如何在测试中使用 Mock
2021/03/01 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
什么是数据抽象
2016/11/26 面试题
通用求职信范文模板分享
2013/12/27 职场文书
利群广告词
2014/03/20 职场文书
乡镇党员群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
客户付款通知书
2015/04/23 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技