详解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入门教程
Feb 08 Python
python发送邮件功能实现代码
Jul 15 Python
pytorch 把MNIST数据集转换成图片和txt的方法
May 20 Python
Python 找到列表中满足某些条件的元素方法
Jun 26 Python
Python 判断图像是否读取成功的方法
Jan 26 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
Feb 13 Python
python 计算一个字符串中所有数字的和实例
Jun 11 Python
Python正则表达式匹配数字和小数的方法
Jul 03 Python
Python with用法:自动关闭文件进程
Jul 10 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
Jul 12 Python
如何用PyPy让你的Python代码运行得更快
Dec 02 Python
python中的3种定义类方法
Nov 27 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 socket并借助telnet实现简单的聊天程序
2013/06/18 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
PHP可变函数学习小结
2015/11/29 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
深入分析JSONP跨域的原理
2014/12/10 Javascript
jQuery实现仿百度帖吧头部固定导航效果
2015/08/07 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
Javascript的表单验证长度
2016/03/16 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
Python对list列表结构中的值进行去重的方法总结
2016/05/07 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
对python的文件内注释 help注释方法
2018/05/23 Python
基于python指定包的安装路径方法
2018/10/27 Python
python3爬虫怎样构建请求header
2018/12/23 Python
Python3 max()函数基础用法
2019/02/19 Python
使用Python操作FTP实现上传和下载的方法
2019/04/01 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
Pytorch 高效使用GPU的操作
2020/06/27 Python
如何卸载python插件
2020/07/08 Python
HTML5实现获取地理位置信息并定位功能
2015/04/25 HTML / CSS
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
1000字打架检讨书
2014/11/03 职场文书
2014年党小组工作总结
2014/12/20 职场文书
同意报考证明
2015/06/17 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
毕业典礼致辞
2015/07/29 职场文书
nginx 配置指令之location使用详解
2022/05/25 Servers