• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python排列函数sort和sorted的区别

python 搞java代码 3年前 (2022-05-21) 24次浏览 已收录 0个评论

排序函数介绍: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]

www#gaodaima.com来源gaodai$ma#com搞$$代**码)网搞代码

#sort后会返回None
def 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学习网。

来源:搞代码网:原文地址:https://www.gaodaima.com


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python排列函数sort和sorted的区别

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址