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 socket 超时设置 errno 10054
Jul 01 Python
Python实现Linux下守护进程的编写方法
Aug 22 Python
python实现将html表格转换成CSV文件的方法
Jun 28 Python
改进Django中的表单的简单方法
Jul 17 Python
Python socket网络编程TCP/IP服务器与客户端通信
Jan 05 Python
tensorflow 加载部分变量的实例讲解
Jul 27 Python
Python基础之字符串常见操作经典实例详解
Feb 26 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
Mar 09 Python
django实现模板中的字符串文字和自动转义
Mar 31 Python
pycharm 实现本地写代码,服务器运行的操作
Jun 08 Python
python调用摄像头的示例代码
Sep 28 Python
Python Pandas数据分析之iloc和loc的用法详解
Nov 11 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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
PHP实现的蚂蚁爬杆路径算法代码
2015/12/03 PHP
基于PHP实现通过照片获取ip地址
2016/04/26 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
YII2.0框架行为(Behavior)深入详解
2019/07/26 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
2020/03/16 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
jQuery使用DataTable实现删除数据后重新加载功能
2017/02/27 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
2017/12/27 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
2020/01/16 Javascript
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
Python 初始化多维数组代码
2008/09/06 Python
python连接、操作mongodb数据库的方法实例详解
2019/09/11 Python
css3 实现滚动条美化效果的实例代码
2021/01/06 HTML / CSS
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
英国百安居装饰建材网上超市:B&Q
2016/09/13 全球购物
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
正宗的日本零食和糖果订阅盒:Bokksu
2019/11/21 全球购物
酒店公关部经理岗位职责
2013/11/24 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
教堂婚礼主持词
2014/03/14 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书