对所有可迭代的对象进行排序操作
sort 与sorted区别:
sort 是应用在list上的方法 sorted可以对所以可迭代的对象进行排序操作
list的sort方法返回的是对已经存在的列表进行操作,而内建函数sorted方法返回的是一个新的list ,而不是在原来的基础上进行的操作
语法
sorted 语法:
sorted(iterable, key = None, reverse = False)
参数说明:
- iterable -- 可迭代对象。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
返回值
返回重新排序的列表。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | print ( sorted ([ 5 , 2 , 3 , 1 , 4 ])) # 默认为升序 #sorted 的应用,也可以通过 key 的值来进行数组/字典的排序 array = [{ "age" : 20 , "name" : "a" },{ "age" : 25 , "name" : "b" },{ "age" : 10 , "name" : "c" }] array = sorted (array,key = lambda x:x[ "age" ]) print (array) #使用lambda和sorted将列表里字符串排序按照字符串中的数字从小到大排列 lis = [ "PCR 0: Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions" , "PCR 9: NTFS Boot Block" , "PCR 2: Option ROM Code" , "PCR 10: Boot Manager" , "PCR 4: Master Boot Record (MBR) Code" , "PCR 8: NTFS Boot Sector" , "PCR 11: BitLocker Access Control" ] print ( sorted (lis, key = lambda x: int (x.split( ':' )[ 0 ][ 4 :]))) #先按照成绩降序排序,相同成绩的按照名字升序排序 list1 = [{ 'name' : 'Alex' , 'score' : 48 }, { 'name' : 'Harry' , 'score' : 18 }, { 'name' : 'JSON' , 'score' : 28 }, { 'name' : 'christ' , 'score' : 38 }] print ( sorted (list1, key = lambda x: ( - x[ 'score' ], x[ 'name' ]))) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统