详解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内置函数dir详解
Apr 14 Python
Python实现配置文件备份的方法
Jul 30 Python
Python迭代和迭代器详解
Nov 10 Python
Python Numpy:找到list中的np.nan值方法
Oct 30 Python
使用Python获取网段IP个数以及地址清单的方法
Nov 01 Python
python 返回列表中某个值的索引方法
Nov 07 Python
Win10下Python3.7.3安装教程图解
Jul 08 Python
Python 实现一个手机号码获取妹子名字的功能
Sep 25 Python
python双端队列原理、实现与使用方法分析
Nov 27 Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 Python
Python数组拼接np.concatenate实现过程
Apr 18 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
Aug 31 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制作新闻系统的思路
2006/10/09 PHP
php getcwd与dirname(__FILE__)区别详解
2016/09/24 PHP
Discuz论坛密码与密保加密规则
2016/12/19 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
js活用事件触发对象动作
2008/08/10 Javascript
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
Javascript select下拉框操作常用方法
2009/11/09 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
在javascript中使用com组件的简单实现方法
2016/08/17 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
jQuery删除当前节点元素
2016/12/07 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
2017/01/21 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
小程序实现左滑删除效果
2019/07/25 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
基于JS实现计算24点算法代码实例解析
2020/07/23 Javascript
Python实现的检测web服务器健康状况的小程序
2014/09/17 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
幼儿园三八妇女节活动总结
2015/02/06 职场文书
2016春季运动会开幕词
2016/03/04 职场文书
Python 全局空间和局部空间
2022/04/06 Python
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js