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 27 Python
基于python元祖与字典与集合的粗浅认识
Aug 23 Python
Python的SimpleHTTPServer模块用处及使用方法简介
Jan 22 Python
浅谈Python中的作用域规则和闭包
Mar 20 Python
python numpy 部分排序 寻找最大的前几个数的方法
Jun 27 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
django中使用Celery 布式任务队列过程详解
Jul 29 Python
python TK库简单应用(实时显示子进程输出)
Oct 29 Python
Python使用正则实现计算字符串算式
Dec 29 Python
python实现音乐播放和下载小程序功能
Apr 26 Python
Django通过json格式收集主机信息
May 29 Python
用python实现前向分词最大匹配算法的示例代码
Aug 06 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 imagecreatetruecolor 创建高清和透明图片代码小结
2010/05/15 PHP
php自动加载autoload机制示例分享
2014/02/20 PHP
动态表格Table类的实现
2009/08/26 Javascript
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
2016/08/11 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
2018/06/05 Javascript
node上的redis调用优化示例详解
2018/10/30 Javascript
Vue使用lodop实现打印小结
2019/07/06 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
2019/09/04 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
[49:18]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 OG vs TNC
2018/04/01 DOTA
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
使用HTML5 Canvas API中的clip()方法裁剪区域图像
2016/03/25 HTML / CSS
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
2013/01/30 HTML / CSS
整理HTML5的一些新特性与Canvas的常用属性
2016/01/29 HTML / CSS
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
俄罗斯游戏商店:Buka
2020/03/01 全球购物
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
电子商务个人职业生涯规划范文
2014/02/12 职场文书
新学期决心书
2014/03/11 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
新学期开学标语
2014/06/30 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
优秀大学生申请书
2019/06/24 职场文书
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL