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中编写数据库模块的教程
Apr 29 Python
Python端口扫描简单程序
Nov 10 Python
Django实现简单分页功能的方法详解
Dec 05 Python
Django使用Mysql数据库已经存在的数据表方法
May 27 Python
浅谈django rest jwt vue 跨域问题
Oct 26 Python
python实现嵌套列表平铺的两种方法
Nov 08 Python
pygame游戏之旅 添加碰撞效果的方法
Nov 20 Python
Python 中Django安装和使用教程详解
Jul 03 Python
python的debug实用工具 pdb详解
Jul 12 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
Aug 01 Python
Django配置文件代码说明
Dec 04 Python
Python中Selenium对Cookie的操作方法
Jul 09 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使用redis实现统计缓存mysql压力的方法
2015/11/14 PHP
PHP类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
javascript获取元素偏移量的方法有哪些
2014/06/24 Javascript
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
js微信扫描二维码登录网站技术原理
2016/12/01 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
2017/04/18 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
Node.js中的http请求客户端示例(request client)
2017/05/04 Javascript
JS的Ajax与后端交互数据的实例
2018/08/08 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
2019/01/27 jQuery
antd-mobile ListView长列表的数据更新遇到的坑
2020/04/08 Javascript
python实现代码行数统计示例分享
2014/02/10 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
Python实现简易Web爬虫详解
2018/01/03 Python
使用python3实现操作串口详解
2019/01/01 Python
PyQt5 界面显示无响应的实现
2020/03/26 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
Python 操作 MySQL数据库
2020/09/18 Python
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
岗位竞聘演讲稿
2014/01/10 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
教师见习报告范文
2014/11/03 职场文书
捐书活动倡议书
2015/04/27 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
祝福语集锦:送给毕业同学祝福语
2019/11/21 职场文书
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL