详解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编程中的包结构
Oct 25 Python
使用Python来编写HTTP服务器的超级指南
Feb 18 Python
用virtualenv建立多个Python独立虚拟开发环境
Jul 06 Python
EM算法的python实现的方法步骤
Jan 02 Python
numpy.linspace 生成等差数组的方法
Jul 02 Python
Django中的Model操作表的实现
Jul 24 Python
在python 不同时区之间的差值与转换方法
Jan 14 Python
python 五子棋如何获得鼠标点击坐标
Nov 04 Python
python 经典数字滤波实例
Dec 16 Python
Python绘图实现台风路径可视化代码实例
Oct 23 Python
Python 实现键盘鼠标按键模拟
Nov 18 Python
python微信智能AI机器人实现多种支付方式
Apr 12 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判断json格式是否正确的实现代码
2017/09/20 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
CheckBox 如何实现全选?
2006/06/23 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
jquery $.ajax()取xml数据的小问题解决方法
2010/11/20 Javascript
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
javaScript实现复选框全选反选事件详解
2020/11/20 Javascript
nodeJS微信分享
2017/12/20 NodeJs
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
2019/09/10 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
python抓取文件夹的所有文件
2018/02/27 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
Numpy 多维数据数组的实现
2020/06/18 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
中学教师实习自我鉴定
2013/09/28 职场文书
学雷锋的心得体会
2014/09/04 职场文书
预备党员个人总结
2015/02/14 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书
weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
2022/01/22 MySQL
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript