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中使用mongoengine操作MongoDB教程
Apr 24 Python
Linux系统上Nginx+Python的web.py与Django框架环境
Dec 25 Python
django将图片上传数据库后在前端显式的方法
May 25 Python
Python使用itertools模块实现排列组合功能示例
Jul 02 Python
Flask框架配置与调试操作示例
Jul 23 Python
对TensorFlow中的variables_to_restore函数详解
Jul 30 Python
django orm 通过related_name反向查询的方法
Dec 15 Python
Django 日志配置按日期滚动的方法
Jan 31 Python
使用django的ORM框架按月统计近一年内的数据方法
Jul 18 Python
基于python实现从尾到头打印链表
Nov 02 Python
python 实现绘制整齐的表格
Nov 18 Python
如何查看Django ORM执行的SQL语句的实现
Apr 20 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
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
php图像处理函数大全(推荐收藏)
2013/07/11 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
php实现删除空目录的方法
2015/03/16 PHP
Yii2超好用的日期和时间组件(值得收藏)
2016/05/05 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
让复选框只能选择一项的方法
2013/10/08 Javascript
chrome下img加载对height()的影响示例探讨
2014/05/26 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
2015/09/14 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
在 webpack 中使用 ECharts的实例详解
2018/02/05 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
vue 路由嵌套高亮问题的解决方法
2018/05/17 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
jquery简单实现纵向的无缝滚动代码实例
2019/04/01 jQuery
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
Python3读取文件常用方法实例分析
2015/05/22 Python
python出现"IndentationError: unexpected indent"错误解决办法
2017/10/15 Python
python实现音乐下载器
2018/04/15 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
2018/07/09 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
2019/11/06 Python
tensorflow使用指定gpu的方法
2020/02/04 Python
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
青安岗事迹材料
2014/05/14 职场文书
驾驶员安全责任书范本
2014/07/24 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
捐助感谢信
2015/01/22 职场文书
八年级数学教学反思
2016/02/17 职场文书