Python3之字典生成器结合lambda实现按key/value排序
Python3之字典生成器结合lambda实现按key/value排序
1、先介绍不常见的字典按value排序:
dict1 = {"g": 2, "f": 1, "a": 6}
print(dict1.values())
d1 = sorted(dict1.items(), key=lambda d: d[1], reverse=True) # 按字典values倒序排序
d2 = sorted(dict1.items(), key=lambda d: d[1]) # # 按字典values正序排序
print(d1)
print(d2)
输出:
[('a', 6), ('g', 2), ('f', 1)]
[('f', 1), ('g', 2), ('a', 6)]
解释:d[1]表示按字典的value排序,若是0则按字典的key排序(文末有示例),大概的意思就是相当于for遍历dict1.items(),那么每次遍历key是第一个(索引0),value是第二个(索引1)。
然后这里返回的是列表,列表中包含多个元组
2、如果想返回字典,可以借用字典生成器:
dict1 = {"g": 2, "f": 1, "a": 6}
d1 = {i[0]: i[1] for i in sorted(dict1.items(), key=lambda d: d[1])}
输出:
{'f': 1, 'g': 2, 'a': 6}
解释:
sorted(dict1.items(), key=lambda d: d[1])
还是跟上面一样,只是多了个字典生成器,它跟列表生成式差不多,i[0]是key,而i[1]是value
3、如果要按key排序
将标号1中d[1]改为d[0]即可:
dict1 = {"g": 2, "f": 1, "a": 6}
d1 = {i[0]: i[1] for i in sorted(dict1.items(), key=lambda d: d[0])}
print(d1)
out:
{'a': 6, 'f': 1, 'g': 2}
Python3之字典生成器结合lambda实现按key/value排序相关推荐
- python3 yield 大文件_详解Python3中yield生成器的用法
任何使用yield的函数都称之为生成器,如: def count(n): while n > 0: yield n #生成值:n n -= 1 另外一种说法:生成器就是一个返回迭代器的函数,与普 ...
- python3.6字典有序_Python如何按值对字典进行排序?
我有一个从数据库中的两个字段中读取值的字典:一个字符串字段和一个数字字段.字符串字段是唯一的,所以这是字典的关键. 我可以对键进行排序,但是如何根据这些值进行排序? 注意:我已阅读Stack Over ...
- python3高级 之 生成器
生成器 利用迭代器,我们可以在每次迭代获取数据(通过next()方法)时按照特定的规律进行生成.但是我们在实现一个迭代器时,关于当前迭代到的状态需要我们自己记录,进而才能根据当前状态生成下一个数据.为 ...
- python3 有序字典
python3 有序字典 查看帮助文档: 可以发现,所谓有序字典,是记录了插入顺序 很显示 ,最后字典的顺序就是你插入键值对的顺序 方法介绍:(OD,代表字典名,点后面为方法) OD.clear(), ...
- Python3.x:生成器简介
Python3.x:生成器简介 概念 任何使用yield的函数都称之为生成器:使用yield,可以让函数生成一个序列,该函数返回的对象类型是"generator",通过该对象连续调 ...
- 使用Lambda表达式对中文拼音排序(按中文字典排序)
使用Lambda表达式对中文拼音排序(中文字典排序) 今天项目上有一个需求,要求对用户名按照拼音排序(不通过数据库端SQL操作),由于用户名为中文,所以使用常规排序并不能解决问题. package l ...
- 详解Python3中yield生成器的用法
这篇文章主要介绍了详解Python3中yield生成器的用法,是Python入门学习中的基础知识,需要的朋友可以参考下 任何使用yield的函数都称之为生成器,如: def count(n):whil ...
- Crunchx--基于文法的字典生成器
Crunchx--基于文法的字典生成器 写在前面的话 第一次在CSDN上写博客,N年后夜深人静的某个地点,夏末,微凉,终于可以静下心来写下拙文. 背景 很长一段时间,对wifi破解尤为感兴趣,很长时间 ...
- Pydictor字典生成器操作手册
声明:请于合法授权环境下进行使用,请勿用于非法操作! Pydictor字典生成器操作手册 0x01 简介 pydictor 是一个使用 python 语言开发,通过命令行生成爆破字典的强大工具,包含有 ...
最新文章
- python colormap函数_python-使用由x,y位置定义的rgb值创建colormap
- windows目录内打开CMD的几种方法
- vue-cli构建的vue项目中引入stylus文件
- spring jdbctemplate源码跟踪
- VelocityTracker简单介绍
- 数据中心自动化及其优势
- 【存储知识学习】第十章- NAS和SAN《大话存储》阅读笔记
- boost::sort模块实现相关的浮点排序测试
- python 实现感知器(一)
- JavaScript中使Promise模式进行异步编程
- C#下如何实现服务器 + 客户端的聊天程序
- 理解Node.js的event loop
- 360公司2019秋季校园招聘内部推荐启动啦!!!
- nodejs-express
- JAVA虚拟机创建对象
- java.io.FileNotFoundException: /opt/shan/es/logs/elasticsearch_index_indexing_slowlog.json (权限不够)
- HTML5之 Microdata微数据
- c语言中ANSI标准的关键字,C语言中32个关键字详解
- 百度网盘网页版视频在线倍速播放
- 学数据挖掘就要懂数据
热门文章
- 合并分ER图产生的冲突
- php执行npm命令_npm系列之命令执行
- 深度学习目标检测之 YOLO v2
- word 编辑域中的汉字_word中插入的cad对象无法双击编辑问题解决记录
- iconsvg image怎么变为path_昆凌是怎么收服天王周杰伦的?这几招太高明了
- 破坏计算机系统既遂的标准,破坏计算机信息系统罪的量刑标准是什么
- python 分布图_python数据分布型图表柱形分布图系列带误差线的柱形图
- data怎么给echart传值_通用技术 VUE 子父组件传值
- 秒懂机器学习---当机器学习遇上决策树....
- tornado框架基础11-tornado异步