详解python的sorted函数对字典按key排序和按value排序


Posted in Python onAugust 10, 2018

1.sorted函数按key值对字典排序

先来基本介绍一下sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。

其中iterable表示可以迭代的对象,例如可以是 dict.items()、dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺 序,reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false。

要按key值对字典排序,则可以使用如下语句:

详解python的sorted函数对字典按key排序和按value排序

直接使用sorted(d.keys())就能按key值对字典排序,这里是按照顺序对key值排序的,如果想按照倒序排序的话,则只要将reverse置为true即可。

2.sorted函数按value值对字典排序

要对字典的value排序则需要用到key参数,在这里主要提供一种使用lambda表达式的方法,如下:

详解python的sorted函数对字典按key排序和按value排序

这里的d.items()实际上是将d转换为可迭代对象,迭代对象的元素为 (‘lilee',25)、(‘wangyan',21)、(‘liqun',32)、(‘lidaming',19),items()方法将字典的元素 转化为了元组,而这里key参数对应的lambda表达式的意思则是选取元组中的第二个元素作为比较参数(如果写作key=lambda item:item[0]的话则是选取第一个元素作为比较对象,也就是key值作为比较对象。lambdax:y中x表示输出参数,y表示lambda 函数的返回值),所以采用这种方法可以对字典的value进行排序。注意排序后的返回值是一个list,而原字典中的名值对被转换为了list中的元组。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 中Pickle库的使用详解
Feb 24 Python
用Python3创建httpServer的简单方法
Jun 04 Python
Python实现按逗号分隔列表的方法
Oct 23 Python
python时间序列按频率生成日期的方法
May 14 Python
学习python分支结构
May 17 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
Jun 27 Python
tensorflow 实现自定义梯度反向传播代码
Feb 10 Python
Python如何使用内置库matplotlib绘制折线图
Feb 24 Python
Pycharm新手使用教程(图文详解)
Sep 17 Python
python函数超时自动退出的实操方法
Dec 28 Python
golang特有程序结构入门教程
Jun 02 Python
解决Pytorch修改预训练模型时遇到key不匹配的情况
Jun 05 Python
Selenium(Python web测试工具)基本用法详解
Aug 10 #Python
Python生成器generator用法示例
Aug 10 #Python
python 字典修改键(key)的几种方法
Aug 10 #Python
详解python 注释、变量、类型
Aug 10 #Python
python文件操作之批量修改文件后缀名的方法
Aug 10 #Python
Random 在 Python 中的使用方法
Aug 09 #Python
Python中函数参数调用方式分析
Aug 09 #Python
You might like
php遍历CSV类实例
2015/04/14 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
javascript定时变换图片实例代码
2013/03/17 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
JavaScript实现基于Cookie的存储类实例
2015/04/10 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
2015/06/23 Javascript
使用jquery插件qrcode生成二维码
2015/10/22 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
详解ES6系列之私有变量的实现
2018/11/21 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
2020/04/10 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
python中二维阵列的变换实例
2014/10/09 Python
python中使用mysql数据库详细介绍
2015/03/27 Python
Python工厂函数用法实例分析
2018/05/14 Python
Python框架Flask的基本数据库操作方法分析
2018/07/13 Python
使用Template格式化Python字符串的方法
2019/01/22 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
python使用QQ邮箱实现自动发送邮件
2020/06/22 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
2021/02/03 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
房地产销售经理岗位职责
2014/01/01 职场文书
爱护草坪标语
2014/06/24 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
委托公证书格式
2015/01/26 职场文书
失恋33天观后感
2015/06/11 职场文书
2015年暑期见闻
2015/07/14 职场文书
python 模拟在天空中放风筝的示例代码
2021/04/21 Python
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python