Python使用sorted对字典的key或value排序


Posted in Python onNovember 15, 2018

sorted函数

sorted(iterable,key,reverse)

  • iterable 待排序的可迭代对象
  • key 对应的是个函数, 该函数用来决定选取用哪些值来进行排序
  • reverse 反转排序

对key排序

d: dict = {"p": 59, "o": 9, "s": 5, "a": 20, "z": 18}

li: list = sorted(d.keys())
print(li)

执行结果:

['a', 'o', 'p', 's', 'z']

对value排序

在对value之前, 先来回炉一下Python的lambda表达式 

f = lambda x: x+1
print(f(5))

def ff(x):
 return x+1
print(ff(5))

执行结果:

6
6

以上两种方式是等价的, lambda表达式写法更简洁, 一般当做匿名表达式/匿名函数使用

lambda x:y

  • x 为入参
  • y 为计算表达式, 运算后返回

接下来进入到对字典的value排序正题, 这里就需要使用到lambda表达式

直接对值排序

d: dict = {"p": 59, "o": 9, "s": 5, "a": 20, "z": 18}

li: list = sorted(d.values())
print(li)

执行结果:

[5, 9, 18, 20, 59]

在包含Key的情况下对值排序

d: dict = {"p": 59, "o": 9, "s": 5, "a": 20, "z": 18}

li: list = sorted(d.items(), key=lambda x: x[1])
print(li)

执行结果:

[('s', 5), ('o', 9), ('z', 18), ('a', 20), ('p', 59)]

d.items() 返回以元组形式构成的列表 dict_items([('p', 59), ('o', 9), ('s', 5), ('a', 20), ('z', 18)]) (列表为可迭代对象)

lambda x: x[1] lambda表达式中, x为入参, 每次x的值为一个d.items()中的元素(一个元组), 第一个入参为('p', 59) 冒号后面的x[1]是运算表达式, 意思是取元组中的第二个元素返回(索引为1), 返回的元素即为排序的依据. 所以如果需要对key进行排序, 也可以在表达式里写 x[0]

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

Python 相关文章推荐
python通过exifread模块获得图片exif信息的方法
Mar 16 Python
Python正则表达式如何进行字符串替换实例
Dec 28 Python
Python django实现简单的邮件系统发送邮件功能
Jul 14 Python
python3实现全角和半角字符转换的方法示例
Sep 21 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
Dec 19 Python
python决策树之C4.5算法详解
Dec 20 Python
python numpy元素的区间查找方法
Nov 14 Python
django的ORM操作 增加和查询
Jul 26 Python
Python 下载及安装详细步骤
Nov 04 Python
使用python切片实现二维数组复制示例
Nov 26 Python
利用python汇总统计多张Excel
Sep 22 Python
Django-simple-captcha验证码包使用方法详解
Nov 28 Python
python并发和异步编程实例
Nov 15 #Python
Numpy截取指定范围内的数据方法
Nov 14 #Python
python numpy元素的区间查找方法
Nov 14 #Python
python爬虫之urllib库常用方法用法总结大全
Nov 14 #Python
Python3爬取英雄联盟英雄皮肤大图实例代码
Nov 14 #Python
python 顺时针打印矩阵的超简洁代码
Nov 14 #Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
Nov 14 #Python
You might like
PHP 程序员应该使用的10个组件
2009/10/31 PHP
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
PHP文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
php中替换字符串中的空格为逗号','的方法
2014/06/09 PHP
Zend Framework动作助手FlashMessenger用法详解
2016/03/05 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
利用jQuery操作对象数组的实现代码
2011/04/27 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
webstorm中vue语法的支持详解
2018/05/09 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
详解react-refetch的使用小例子
2019/02/15 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
vue 如何从单页应用改造成多页应用
2020/10/23 Javascript
Python高效编程技巧
2013/01/07 Python
Python实现图片拼接的代码
2018/07/02 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
2019/07/30 Python
Pycharm快捷键配置详细整理
2020/10/13 Python
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
农村婚礼证婚词
2014/01/08 职场文书
学生评语大全
2014/04/18 职场文书
担保书范文
2015/01/20 职场文书
财务总监岗位职责
2015/02/03 职场文书
催款律师函范文
2015/05/27 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
导游词之海南-南湾猴岛
2019/10/12 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers
Python实现8种常用抽样方法
2021/06/27 Python