详解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中__new__与__init__方法的区别详解
May 04 Python
Django框架中数据的连锁查询和限制返回数据的方法
Jul 17 Python
Python探索之实现一个简单的HTTP服务器
Oct 28 Python
使用python装饰器计算函数运行时间的实例
Apr 21 Python
matplotlib给子图添加图例的方法
Aug 03 Python
浅谈Python traceback的优雅处理
Aug 31 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
Jun 17 Python
关于Python 常用获取元素 Driver 总结
Nov 24 Python
Python如何使用turtle库绘制图形
Feb 26 Python
学python最电脑配置有要求么
Jul 05 Python
Python标准库之typing的用法(类型标注)
Jun 02 Python
在python中读取和写入CSV文件详情
Jun 28 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与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
php常用数学函数汇总
2014/11/21 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
javascript new后的constructor属性
2010/08/05 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
AngularJS基础 ng-focus 指令简单示例
2016/08/01 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
简单的网页广告特效实例
2017/08/19 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
jQuery实现表格隔行换色
2018/09/01 jQuery
vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错
2018/11/06 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
[41:21]夜魇凡尔赛茶话会 第三期02:看图识人
2021/03/11 DOTA
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
python实现图像识别功能
2018/01/29 Python
python中format()函数的简单使用教程
2018/03/14 Python
Python基础学习之函数方法实例详解
2019/06/18 Python
python 下载文件的几种方法汇总
2021/01/06 Python
有关HTML5中背景音乐的自动播放功能
2017/10/16 HTML / CSS
澳大利亚最超值的自行车之家:Reid Cycles
2019/03/24 全球购物
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
优秀党支部事迹材料
2014/01/14 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
琅琊山导游词
2015/02/05 职场文书
美术教师个人工作总结
2015/02/06 职场文书
朋友聚会祝酒词
2015/08/10 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang