Python-内置排序(sort() and sorted())
描述
sort 与 sorted 区别:
sort 是应用在 list 上的方法,list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值
sorted 可以对所有可迭代的对象进行排序操作,返回的是一个新的 list,而不是在原来的基础上进行的操作。
sort语法与实例
sort()方法语法:
list.sort(cmp=None, key=None, reverse=False)
- cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
sort()方法实例:
常用方式
1 2 | list = [( 'Tom' , 'b' , 3 ),( 'Jerry' , 'c' , 2 ),( 'Spike' , 'a' , 4 )] list .sort() #[('Jerry', 'c', 2), ('Spike', 'a', 4), ('Tom', 'b', 3)] |
使用key(效率远高于cmp,所以cmp基本不用)
1 2 | list = [( 'Tom' , 'b' , 3 ),( 'Jerry' , 'c' , 2 ),( 'Spike' , 'a' , 4 )] list .sort(key = lambda k:k[ 2 ]) #[('Jerry', 'c', 2), ('Tom', 'b', 3), ('Spike', 'a', 4)] |
sorted语法
sorted 语法:
sorted(iterable, cmp=None, key=None, reverse=False)
- iterable -- 可迭代对象。
- cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
sorted实例:
1 2 3 | students = [( 'john' , 'A' , 15 ), ( 'jane' , 'B' , 12 ), ( 'dave' , 'B' , 10 )] sorted (students, key = lambda s: s[ 2 ], reverse = True ) # 按降序 [( 'john' , 'A' , 15 ), ( 'jane' , 'B' , 12 ), ( 'dave' , 'B' , 10 )] |
使用方式:
sort与sorted优先使用sort,key与cmp优先使用key
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!