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


猜你喜欢
- 文章所罗列的问题虽然看似简单,但是每个背后都涵盖了一个或几个大家容易忽视的基础知识点,希望能够帮助到你的面试和平时工作。Q1第一个问题关于弱
- golang sort package: https://studygolang.com/articles/3360sort 操作的对象通常
- <td width="15%" align="left">是否为分包人&l
- PHP asXML()函数实例格式化 XML(版本 1.0)中的 SimpleXML 对象的数据:<?php $note=<&l
- 环境:numpy,pandas,python3在机器学习和深度学习的过程中,对于处理预测,回归问题,有时候变量是时间,需要进行合适的转换处理
- 在开发Web应用时,无一例外地需要访问数据库,以完成对数据的查询、插入、更新、删除等操作。受应用逻辑的影响,有时需要将多条数据库操作指令组成
- 从前两天网上开始一直开着的chatgpt网页突然打不开了,提示1020错误,尝试换了不同代理软件或者代理地点仍然无法解决,也搜了很多资料,比
- cs页面调用代码: public int TotalPage = 0; public int PageCurrent = 1; public
- 不知道大家在做网站时有没有给目录名或者文件名添加”( )”的习惯,有则改之,无则加勉。因为他有潜在的危险,起码就被我遇到了。要使页面能够使用
- 前言:作为一个.NET开发者而已,有着宇宙最强IDE:Visual Studio加持,让我们的开发效率得到了更好的提升。我们不需要担心环境变
- 本文实例为大家分享了python实现聊天小程序的具体代码,供大家参考,具体内容如下我这里实现的是客户端与服务端进行通信的功能,比较简单,与上
- 使用 Django 或 Flask 这种框架开发 web app 的时候一般都会用内建服务器开发和调试程序,等程序完成后再移交到生产环境部署
- #!/bin/bash#this is a script of mysql backup if [ ! -d /mydata/data1/b
- 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。看代码:# -*- coding: utf-8 -*-# @File &nb
- 代码问题:控制台和日志的文件的等级设置要放在logger = logging.getLogger('myloger')实例化
- 前言现如今我们生活在一个二维码的时代,生活中处处都是二维码,支付要使用二维码,微信加好友要使用二维码,乘坐公共交通要使用二维码,那么,如果要
- 感觉很流畅的键盘控制(带惯性) <body> <div id="man" style="po
- 全球数据量的疯狂增长,使得市场对资深数据库管理员的需求也节节攀升。据统计,一直到2016美国IT市场对数据库管理员的需求量增长都将会超过所有
- 秒杀活动可以说在互联网上随处可见,从12306抢票,到聚划算抢购,我们生活的方方面面都可以看到秒杀的身影。秒杀的架构设计也是对于一个架构师架
- 本文实例讲述了PHP+Ajax简单get验证操作。分享给大家供大家参考,具体如下:1、显示页面代码index.html<!DOCTYP