Python教程按照字典的键或值进行排序方法解析
作者:季布, 发布时间:2023-01-12 09:10:26
Python sorted() 函数
sorted() 函数对所有可迭代的对象进行排序操作
sorted 语法:
sorted(iterable, key=None, reverse=False)
参数说明:
iterable
– 可迭代对象。
key
– 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse
– 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
1、对字典按键(key)进行排序
dir_info= {'a':1,'d':8,'c':3,'b':5}
#对字典按键(key)进行排序(默认由小到大)
dir_sort = sorted(dir_info.items(),key=lambda x:x[0])
print(dir_sort)
输出结果:
[('a', 1), ('b', 5), ('c', 3), ('d', 8)]
直接对字典的key排序
sorted({'a':1,'d':8,'c':3,'b':5}.keys())
2、对字典按值(value)进行排序
dir_info= {'a':1,'d':8,'c':3,'b':5}
#对字典按键(key)进行排序(默认由小到大)
dir_sort = sorted(dir_info.items(),key=lambda x:x[1])
print(dir_sort)
输出结果
[('a', 1), ('c', 3), ('b', 5), ('d', 8)]
直接对字典的value排序
sorted({'a':1,'d':8,'c':3,'b':5}.values())
解析:
dir_info.items()
是获得了字典的key,value 两个参数
dir_info[0]
表示按照第一元素进行排序
dir_info[1]
表示按照第二个元素进行排序
为了便于理解,再举个例子
person_info = [('zhangsan', '男', 15), ('lisi', '男', 12), ('wangwu', '男', 10),]
person_sort = sorted(person_info, key=lambda x: x[2])
print(person_sort)
输出结果:
[('wangwu', '男', 10), ('lisi', '男', 12), ('zhangsan', '男', 15)]
当然key的形式也是多样的
比如:
1.按照字符串长度进行排序
key = lambda x:len(x)
2.先按照第一个元素,再按照第二个元素:
key = lambda x : (x[0] , x[1])
扩展:
将列表中数据的某一部分作为关键字进行排序(选取标志性可用于排序的元素作为条件)
list_info = ['test-10.txt','test-11.txt','test-22.txt','test-14.txt','test-3.txt','test-20.txt']
list_sort = sorted(list_info, key=lambda d : int(d.split('-')[1].split('.')[0]))
print(list_sort)
输出结果
['test-3.txt', 'test-10.txt', 'test-11.txt', 'test-14.txt', 'test-20.txt', 'test-22.txt']
来源:https://blog.csdn.net/weixin_47906106/article/details/119378398
猜你喜欢
- 在深度学习中,模型的输入size通常是正方形尺寸的,比如300 x 300这样.直接resize的话,会把图像拉的变形.通常我们希望resi
- 本文实例讲述了PHP变量作用域(全局变量&局部变量)&global&static关键字用法。分享给大家供大家参考,具
- 什么是Inception ResnetV2Inception ResnetV2是Inception ResnetV1的一个加强版,两者的结构
- 本文实例讲述了Python基于回溯法子集树模板解决旅行商问题(TSP)。分享给大家供大家参考,具体如下:问题旅行商问题(Traveling
- 我们使用的是QWebview模块,这里也主要是展示下QWebview的用法。之前在网上找了半天的解析网页的内容,都不是很清楚。这是核心代码:
- 一、时间对象timetime模块使用的是C语言函数库中的函数。只能处理1970/1/1到2038/12/31之间的数据。1.测量运行时间方法
- 打开VB6,新建ActiveX DLL 2、在工程引用中加入Microsoft Active Server Pages Object Lib
- 1. 实例的背景说明假定一个个人信息系统,需要记录系统中各个人的故乡、居住地、以及到过的城市。数据库设计如下:Models.py 内容如下:
- 思路整理:1、进入心灵鸡汤网页,使用python获取心灵鸡汤内容2、登陆微信,找到需要发送的朋友3、发送获取的内容1、获取心灵鸡汤的内容如下
- websocketWebsocket只是一个网络通信协议就像 http、ftp等都是网络通信的协议;不要多想;相对于HTTP这种非持久的协议
- 初学ASP,程序是能勉强写出来了,但若每进行一次网站页面的改版,所有的源程序都将进行一次移植手术。为此所耗费的人力精力不计其数,甚至一不小心
- WaitGroup的用途:它能够一直等到所有的goroutine执行完成,并且阻塞主线程的执行,直到所有的goroutine执行完成。官方对
- 1. 什么是存储过程?存储过程是SQL server所提供的Tran
- 本文实例讲述了Python常见数据类型转换操作。分享给大家供大家参考,具体如下:类型转换主要针对几种存储工具:list、tuple、dict
- 本文实例讲述了PHP接口多继承及tarits实现多继承效果的方法。分享给大家供大家参考,具体如下:接口多继承在PHP的面向对象中,接口可以继
- 生产定制一个彩条标签。首先导入:import matplotlib.pyplot as pltimport numpy as npfrom
- 当代码已经写得差不多,发现某个变量名需要修改,但代码中很多地方都有该变量,一一修改太麻烦了,在不同的情景下,可以采取更加简便的方法,如下介绍
- 本文要实现的功能是:根据下拉列表的选项将数据库中对应的内容显示在页面,选定要排除的选项后,提交剩余的选项到数据库。为了方便前后台交互,利用了
- 如果备份的数据库有2个文件,分别是.LDF 和 .MDF,打开企业管理器,在实例上右击---所有任务--附加数据库,然后选择那个.MDF文件
- 本文实例讲述了Python单体模式的几种常见实现方法。分享给大家供大家参考,具体如下:这里python实现的单体模式,参考了:https:/