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下如何让web元素的生成更简单的分析
Jul 17 Python
教你安装python Django(图文)
Nov 04 Python
Python的函数嵌套的使用方法
Jan 24 Python
Tornado高并发处理方法实例代码
Jan 15 Python
TensorFlow深度学习之卷积神经网络CNN
Mar 09 Python
python正则-re的用法详解
Jul 28 Python
python制作英语翻译小工具代码实例
Sep 09 Python
python getpass实现密文实例详解
Sep 24 Python
Django学习之文件上传与下载
Oct 06 Python
Python网页解析器使用实例详解
May 30 Python
matplotlib阶梯图的实现(step())
Mar 02 Python
Python线程池与GIL全局锁实现抽奖小案例
Apr 13 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 $_FILES中error返回值详解
2014/01/30 PHP
又拍云异步上传实例教程详解
2016/04/19 PHP
javascript form 验证函数 弹出对话框形式
2009/06/23 Javascript
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
2014/04/30 Javascript
JavaScript实现横向滑出的多级菜单效果
2015/10/09 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
jquery自定义表单验证插件
2016/10/12 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
2016/12/19 Javascript
荐书|您有一份JavaScript书单待签收
2017/07/21 Javascript
Koa项目搭建过程详细记录
2018/04/12 Javascript
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
Python中文分词实现方法(安装pymmseg)
2016/06/14 Python
对Python random模块打乱数组顺序的实例讲解
2018/11/08 Python
Python实现名片管理系统
2020/02/14 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
Django基于Models定制Admin后台实现过程解析
2020/11/11 Python
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
打架检讨书800字
2014/01/10 职场文书
小学中秋节活动方案
2014/02/06 职场文书
婚纱摄影师求职信
2014/03/07 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
个人作风建设总结
2014/10/23 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
2015年司法局工作总结
2015/05/22 职场文书
《1942》观后感
2015/06/08 职场文书
六一亲子活动感想
2015/08/07 职场文书
mongodb清除连接和日志的正确方法分享
2021/09/15 MongoDB
JS实现九宫格拼图游戏
2022/06/28 Javascript