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 相关文章推荐
c++生成dll使用python调用dll的方法
Jan 20 Python
Python编写电话薄实现增删改查功能
May 07 Python
python简单读取大文件的方法
Jul 01 Python
python实现学生信息管理系统
Apr 05 Python
python如何在循环引用中管理内存
Mar 20 Python
对pandas数据判断是否为NaN值的方法详解
Nov 06 Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 Python
Python使用Pickle模块进行数据保存和读取的讲解
Apr 09 Python
详解基于python-django框架的支付宝支付案例
Sep 23 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
简单的Python人脸识别系统
Jul 14 Python
pycharm永久激活超详细教程
Oct 29 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 url 加密解密函数代码
2011/08/26 PHP
PHP安装memcached扩展笔记
2015/05/28 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
实例讲解php实现多线程
2019/01/27 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
基于JavaScript实现定时跳转到指定页面
2016/01/01 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
在Vue项目中使用d3.js的实例代码
2018/05/01 Javascript
小程序实现列表点赞功能
2018/11/02 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
深入理解python try异常处理机制
2016/06/01 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2018/12/18 Python
python 调用有道api接口的方法
2019/01/03 Python
解决pandas展示数据输出时列名不能对齐的问题
2019/11/18 Python
Python实现CNN的多通道输入实例
2020/01/17 Python
python将YUV420P文件转PNG图片格式的两种方法
2021/01/22 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
关于HTML5的安全问题开发人员需要牢记的
2012/06/21 HTML / CSS
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
质量工程师岗位职责
2013/11/16 职场文书
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
医院护士的求职信
2014/01/03 职场文书
实习协议书范本
2014/04/22 职场文书
银行培训心得体会范文
2016/01/09 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python