Python内置函数 — sort,sorted
1、sort
列表的属性方法,对列表进行排序,默认升序,返回None值。
源码注释:
""" Sort the list in ascending order and return None.The sort is in-place (i.e. the list itself is modified) and stable (i.e. the order of two equal elements is maintained).If a key function is given, apply it once to each list item and sort them, ascending or descending, according to their function values.The reverse flag can be set to sort in descending order. """
说明:
按升序排序列表并返回None。
排序到位(即列表本身被修改)且稳定(即保持两个相等元素的顺序)。
如果给定了键函数,则将其应用于每个列表项一次,并根据其函数值对其进行升序或降序排序。
反转标志可以设置为按降序排序。
语法结构:
list.sort(key=None, reverse=False)
参数:
- key,可选参数,默认值为None。如果key有值,则按照key的函数规则对列表进行排序,可以用来自定义排序规则。
- reverse,可选参数,排序规则,reverse = True 降序 , reverse = False 升序(默认)
返回值:
- 返回 None值,原列表的元素排序发生改变。
用法实例:
(1)升序排序(默认升序)
lst = [1, 4, 5, 3, 2]
lst.sort()
print(lst)
-------------------------------------------------------------------------------------
运行结果:
[1, 2, 3, 4, 5]
(2)降序排序
lst = [1, 3, 4, 2, 5]
lst.sort(reverse=True)
print(lst)
---------------------------------------------------------------------------------
运行结果:
[5, 4, 3, 2, 1]
(3)使用key自定义排序
lst = [[1, 2], [3, 4], [4, 1], [2, 3]]
lst.sort()
print(lst)
------------------------------------------------------------------------------------
运行结果:
[[1, 2], [2, 3], [3, 4], [4, 1]]
说明:默认是根据二维列表的第一个元素升序排序,下面我们来使用key这个参数来实现根据二维列表的第二个元素排序。
lst = [[1, 2], [3, 4], [4, 1], [2, 3]]
lst.sort(key=lambda x: x[1])
print(lst)
-----------------------------------------------------------------------------------
运行结果:
[[4, 1], [1, 2], [2, 3], [3, 4]]
2、sorted
Python内置函数,对可迭代对象进行排序,默认升序,返回一个新的列表。
源码注释:
""" Return a new list containing all items from the iterable in ascending order.A custom key function can be supplied to customize the sort order, and the reverse flag can be set to request the result in descending order. """
说明:
返回一个新列表,其中按升序包含可迭代项中的所有项。
可以提供自定义键函数来自定义排序顺序,并且可以设置反转标志以请求按降序排序的结果。
语法格式:
sorted(iterable, key=None, reverse=False)
参数:
- iterable,可迭代对象
- key,可选参数,默认值为None。如果key有值,则按照key的函数规则对列表进行排序,可以用来自定义排序规则。
- reverse,可选参数,排序规则,reverse = True 降序 , reverse = False 升序(默认)
返回值:
- 返回一个新的列表
用法实例:
(1)升序排序(默认排序)
a = [1, 4, 5, 3, 2]
b = sorted(a)
print('a=', a)
print('b=', b)
------------------------------------------------------------------------------------
运行结果:
a= [1, 4, 5, 3, 2]
b= [1, 2, 3, 4, 5]
sorted函数没有改变原列表a,按照升序排序生成了一个新的列表b 。
(2)降序排序
a = [1, 4, 5, 3, 2]
b = sorted(a, reverse=True)
print('a=', a)
print('b=', b)
---------------------------------------------------------------------------------
运行结果:
a= [1, 4, 5, 3, 2]
b= [5, 4, 3, 2, 1]
(3)使用key自定义排序
lst = [('b', 2), ('a', 1), ('d', 4), ('c', 3)]
lst_new = sorted(lst, key=lambda x: x[1], reverse=True)
print('lst=', lst)
print('lst_new=', lst_new)
-------------------------------------------------------------------------------------
运行结果:
lst= [('b', 2), ('a', 1), ('d', 4), ('c', 3)]
lst_new= [('d', 4), ('c', 3), ('b', 2), ('a', 1)]
3、sort和sorted的区别
- sort函数是列表的属性方法,sorted是Python的内置函数。
- sort函数是对原列表的元素进行排序,sorted函数是对可迭代对象的元素进行排序,生成一个新列表。
reference:
https://docs.python.org/zh-cn/3.8/library/functions.html#sorted
python中sort()函数的key参数用法__小张要敲代码的博客-CSDN博客_sort函数python key
Python3 sorted() 函数 | 菜鸟教程
相关文章:
Python内置函数 — sort,sorted
1、sort 列表的属性方法,对列表进行排序,默认升序,返回None值。 源码注释: """ Sort the list in ascending order and return None.The sort is in-place (i.e. the list itself is modified) and stable (i.e.…...
mysql事务隔离级别
mysql锁机制及原理1.隔离级别2.实践2.1查看事务隔离级别2.2 设置隔离级别2.3 不可重复读2.4 幻读3.幻读怎么解决3.1 Record Lock3.2 Gap Lock3.3 Next-Key Lock引用:https://blog.csdn.net/xinyuan_java/article/details/1284932051.隔离级别 SERIALIZABLE(序列化)…...
【C++】string类(下)
文章目录1.迭代器(正向遍历)begin有两个版本2.反向迭代器(反向遍历)rbegin由两个版本3. at4. insert ——头插在pos位置前插入一个字符串在pos位置前插入n个字符在迭代器前插入一个字符5. erase从pos位置开始删除len个字符从迭代器位置开始删除6. replace——替换从pos位置开始…...
Elasticsearch: Prefix queries - 前缀查询
Prefix queries 被用于在查询时返回在提供的字段中包含特定前缀的文档。有时我们可能想使用前缀查询单词,例如 Leonardo 的 Leo 或 Marlon Brando、Mark Hamill 或 Martin Balsam 的 Mar。 Elasticsearch 提供了一个前缀查询,用于获取匹配单词开头部分&a…...
GEE学习笔记 七十七:GEE学习方法简介
这是一篇关于学习方法的思考探索,当然我不会大篇文章介绍什么学习方法(因为我也不是这方面的专家?),这个只是总结一下我是如何学习GEE以及在学习中遇到问题时如何解决问题的。我写这篇文章的目的就是在和一些学习GEE的新同学接触…...
20基于主从博弈的智能小区代理商定价策略及电动汽车充电管理MATLAB程序
参考文档:《基于主从博弈的智能小区代理商定价策略及电动汽车充电管理》基本复现仿真平台:MATLABCPLEX/gurobi平台优势:代码具有一定的深度和创新性,注释清晰,非烂大街的代码,非常精品!主要内容…...
长按power键,点击重启按钮,系统重启流程一
1.有可能会涉及到如下文件 2.文件流程...
数据的TCP分段和IP分片
本文简述下TCP分段和IP分片的区别与联系。 我们知道,用户空间的数据拷贝到内核空间的TCP发送缓冲区(这个是一个结构体,叫sk_buffer,简称skb)后就由内核网络协议栈做后续的封装和发送处理了,用户无需考虑下…...
HTML中嵌入B站视频
HTML中嵌入B站视频 在网页中实现一个HTML播放器需要先从b站获取视频嵌入代码, 以前嵌入代码可以从视频分享那里拿到, 现在好像不行了 必须是自己投稿的视频, 从投稿管理页面才能找到 复制嵌入代码 建一个.html文件, 放入下面代码 <!DOCTYPE html> <html><head…...
Mars3D Studio 的使用方法
Mars3D Studio的使用 1、介绍: mars3d Studio是mars3d研发团队于近期研发上线的一款 场景可视化编辑平台。拥有资源存档、团队协作、定制材质等丰富的功能。可以实现零代码构建一个可视化三维场景。 2、功能介绍 (1)数据上传:…...
Flutter For Web实践
1 什么是Flutter Flutter是Google开源的一套UI工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动APP、web、桌面和嵌入式平台。Flutter和其他的跨平台解决方案的实现方式上有比较大的差异。 我们以React Native(下文简称RN&…...
【神级Python代码】作为技术xiao白如何制作一款超炫酷的黑客主题代码雨?牛逼就完了。(源码分享学习)
前言 哈喽,我是木子,今天给大家制作一款超级炫酷的代码啦。 提到《黑K帝国》,字符雨可谓是让人印象深刻。 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 …...
供应链挑战迎刃而解!桑迪亚国家实验室使出“量子杀手锏”
桑迪亚国家实验室的科学家Alicia Magann(右),Kenneth Rudinger(左上),Mohan Sarovar(左下)和Matthew Grace(未附图)开发了基于反馈的量子优化算法(…...
java程序设计-ssm博客管理系统
博客管理系统是一个用于创建、管理和发布博客文章的应用程序。它通常包括一个后台管理界面,用于管理用户、文章、评论、标签等数据。同时,它还包括一个前端界面,用于展示博客文章并提供交互功能,例如评论和分享。 博客管理系统可…...
从0到1一步一步玩转openEuler--17 openEuler DNF(YUM)检查更新
文章目录17.1 检查更新17.2 升级17.3 更新所有的包和它们的依赖DNF是一款Linux软件包管理工具,用于管理RPM软件包。DNF可以查询软件包信息,从指定软件库获取软件包,自动处理依赖关系以安装或卸载软件包,以及更新系统到最新可用版本…...
SpringBoot-自动配置-@Import注解与@EnableAutoConfiguration注解
Import注解 Enable* 底层依赖于 Import 注解导入一些类,使用 Import 导入的类会被 Spring 加载到 IOC 容器中Import 提供了4种用法: 1.导入Bean2.导入配置类3.导入ImportSelector实现类;一般用于加载配置文件中的类4.导入ImportBeanDefinitio…...
【笔记】C#一维数组、多维数组和交错数组的区别总结
文章目录前言数组的概念1,一维数组:2,多维数组:3,交错数组:区别总结结语前言 😄大家好,我是writer桑, 这是自己整理的 C# 数组笔记,方便自己学习的同时分享出…...
【SpringBoot】分布式日志跟踪—通过MDC实现全链路调用日志跟踪
一.MDC 1.MDC介绍 MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 和 logback 提供的一种方便在多线程场景下记录日志的功能。MDC 可以看成是一个与当前线程绑定的Map,可以往其中添加键值对。MDC 中包含的内容可以被同…...
【设计模式】创建型模式
简单工厂模式 系列综述: xxxxxxxxx 文章目录对象创建型模式简单(静态)工厂模式工厂方法模式参考博客😊点此到文末惊喜↩︎ 对象创建型模式 简单(静态)工厂模式 抽象原理 抽象产品基类 :定义了…...
Spark Catalyst 查询优化器原理
这里我们讲解一下SparkSQL的优化器系统Catalyst,Catalyst本质就是一个SQL查询的优化器,而且和 大多数当前的大数据SQL处理引擎设计基本相同(Impala、Presto、Hive(Calcite)等)。了解Catalyst的SQL优化流程&…...
Go 里什么时候可以“panic”?
“Don’t panic.” —— Go 谚语 但……如果我真的想 panic 呢?在 Go 的世界里,panic() 就像厨房里的灭火器:平时你不会用它炒菜,但如果油锅着火了,你肯定得拉它一把。今天我们就来聊聊:Go 里什么时候 pani…...
Midjourney未来三年风格演进路径图(2024–2026关键拐点全标注)
更多请点击: https://intelliparadigm.com 第一章:Midjourney 2026年审美趋势总览 2026年,Midjourney 的视觉语言正经历一场由技术理性与人文温度共同驱动的范式迁移。V7引擎全面启用动态语义权重调节(DSWR)ÿ…...
2000-2025年《中国县域统计年鉴》pdf+excel版(附赠面板数据)
资源介绍《中国县域统计年鉴》2000-2025一、数据介绍《中国县域统计年鉴》是一部全面反映我国县域社会经济发展状况的资料性年鉴,从2014年开始分为《中国县域统计年鉴(县市卷)》和《中国县域统计年鉴(乡镇卷)》两卷。数…...
ATPG技术革新:从传统测试到单元感知与智能并行
1. 从“可靠的老黄牛”到“敏捷的赛马”:ATPG技术为何必须革新在芯片设计这个行当里干了十几年,Automatic Test Pattern Generation,也就是我们常说的ATPG,一直是个让人又爱又恨的角色。爱它,是因为它就像产线上那位最…...
STM32+EMMC+GL3227E固件调试:从扇区偏移到数据同步的实战解析
1. 问题现象与背景分析 最近在调试一个嵌入式存储系统时遇到了奇怪的现象:STM32主控将数据写入EMMC存储后,通过GL3227E桥接芯片连接电脑却无法识别。更诡异的是,电脑格式化后的EMMC,STM32写入的数据在电脑端又"消失"了。…...
航模老鸟的‘省钱’秘籍:一块BB响如何守护你的多块锂电池(附设置误区避坑)
航模电池管理的低成本智慧:BB响的进阶使用策略 在航模和无人机领域,电池管理一直是玩家们关注的焦点。对于拥有多块电池的资深爱好者或小型工作室来说,如何在保证安全的前提下优化成本,是一个值得深入探讨的话题。传统做法是为每块…...
从入门到精通:Systrace性能分析实战指南
1. Systrace入门:认识Android性能分析利器 第一次打开Systrace报告时,我完全被那些彩色线条和条形图搞懵了。这玩意儿看起来就像地铁线路图一样复杂,但别担心,它其实是Android开发者最得力的性能分析助手。Systrace是Android SDK自…...
如何轻松解密Widevine加密视频:完整免费指南
如何轻松解密Widevine加密视频:完整免费指南 【免费下载链接】video_decrypter Decrypt video from a streaming site with MPEG-DASH Widevine DRM encryption. 项目地址: https://gitcode.com/gh_mirrors/vi/video_decrypter 还在为付费视频无法离线保存而…...
医疗电源设计:IEC 60601-1标准与EMC挑战解析
1. IEC 60601-1标准演进与医疗电源设计挑战医疗电气设备的安全性和可靠性直接关系到患者生命健康,这使得相关设计标准比普通电子设备严格得多。作为医疗设备领域的"圣经",IEC 60601-1标准自1977年首次发布以来,已经历四次重大修订&…...
群晖相册AI识别解锁指南:让无GPU设备也能享受智能相册功能
群晖相册AI识别解锁指南:让无GPU设备也能享受智能相册功能 【免费下载链接】Synology_Photos_Face_Patch Synology Photos Facial Recognition Patch 项目地址: https://gitcode.com/gh_mirrors/sy/Synology_Photos_Face_Patch 你是否拥有DS918或DS3615xs等群…...
