Python排列函数sort和sorted的区别

图片[1]-Python排列函数sort和sorted的区别-uusu优素-乐高,模型,3d打印,编程

排序函数介绍:sort()和sorted()都属于Python list的排序方法

区别:sort()属于永久性排列,直接改变该list; sorted属于暂时性排列,会产生一个新的序列。

#sorted()
>>>sorted([5,2,3,1,4])
[1,2,3,4,5]
#sort()
>>>L=[5,2,3,1,4]
>>>L.sort()
>>>printL
[1,2,3,4,5]
#sort后会返回None
defpaixu(list):
returnlist.sort()
paixu(['a','f','g','b','a'])
#并没输出结果,返回None
#sorted后会返回列表
defpaixu(list):
returnsorted(list)
paixu(['a','f','g','b','a'])
#输出结果
['a','a','b','f','g']

以下对常用的sorted进行介绍:

python 内置的sorted()函数可以对一个list进行排序:

>>>sorted([8,3,8,11,-2])
[-2,3,8,8,11]

既然说是高阶函数,那么它还可以接受一个key函数来实现自定义的排序,比如按照绝对值大小进行排序:

>>>sorted([8,3,8,11,-9],key=abs)
[3,8,8,-9,11]

key指定的函数将作用于list中的每一个元素上,根据key函数返回的结果进行排序。

来看看字符串排序的问题:

>>>sorted(['abc','Abc','Cba','bAc'])
['Abc','Cba','abc','bAc']

默认的,对于字符串,sorted函数按照ASCII的大小进行排序,因为C<a,大写的C会排在小写的a前面。

如果我们想要达到忽略大小写的排序,只需要更改一下key函数:

>>>sorted(['abc','Abc','Cba','bAc'],key=str.lower)
['abc','Abc','bAc','Cba']
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容