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中捕捉详细异常信息的代码示例
Sep 18 Python
python中django框架通过正则搜索页面上email地址的方法
Mar 21 Python
Python映射拆分操作符用法实例
May 19 Python
python基础之入门必看操作
Jul 26 Python
Python模块搜索路径代码详解
Jan 29 Python
Django-Rest-Framework 权限管理源码浅析(小结)
Nov 12 Python
Python中的asyncio代码详解
Jun 10 Python
python实现超市商品销售管理系统
Nov 22 Python
Python+OpenCV实现旋转文本校正方式
Jan 09 Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 Python
Python自定义聚合函数merge与transform区别详解
May 26 Python
python中pdb模块实例用法
Jan 15 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正则表达式中的非贪婪模式匹配的使用
2014/11/25 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
父窗口获取弹出子窗口文本框的值
2006/06/27 Javascript
用javascript做拖动布局的思路
2008/05/31 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
jquery滚动特效集锦
2015/06/03 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
2015/09/06 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
原生js实现放大镜特效
2017/03/08 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
bootstrap实现二级下拉菜单效果
2017/11/23 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
基于postman获取动态数据过程详解
2020/09/08 Javascript
Python文件及目录操作实例详解
2015/06/04 Python
Python实现针对中文排序的方法
2017/05/09 Python
python tkinter图形界面代码统计工具
2019/09/18 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
2019/11/22 Python
python 实现视频 图像帧提取
2019/12/10 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
纯CSS3代码实现文字描边
2016/04/25 HTML / CSS
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
法学专业应届生求职信
2013/10/16 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
围城读书笔记
2015/06/26 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书
Python数据可视化之绘制柱状图和条形图
2021/05/25 Python
Python 如何解决稀疏矩阵运算
2021/05/26 Python
python双向链表实例详解
2022/05/25 Python