Python排列函数sort和sorted的区别
排序函数介绍: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()
>>> print L
[1, 2, 3, 4, 5]
#sort后会返回Nonedef paixu(list):
return list.sort()
paixu(['a','f','g','b','a'])
#并没输出结果,返回None
#sorted后会返回列表
def paixu(list):
return sorted(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']
以上就是Python排列函数sort和sorted的区别的详细教程,更多学习内容,请点击Python学习网。
以上是 Python排列函数sort和sorted的区别 的全部内容, 来源链接: utcz.com/z/524821.html