sort | Python从入门到精通:高阶篇之十五

查看上一节:匿名函数

sort函数

该方法用于对列表中的元素进行排序。

l = ['bb','aaaa','c','ddddddddd','fff']
l.sort()
print(l)

执行结果为:
sort | Python从入门到精通:高阶篇之十五
sort()方法默认是直接比较列表中的元素的大小。
如果是比较其他内容,比如字符串的长度,可以通过关键字key来操作:
在sort()可以接收一个关键字参数 : key;key需要一个函数作为参数,当设置了函数作为参数,每次都会以列表中的一个元素作为参数来调用函数,并且使用函数的返回值来比较元素的大小。

l = ['bb','aaaa','c','ddddddddd','fff']
l.sort(key=len) # 以字符串的长度排序
print(l)

执行结果为:
sort | Python从入门到精通:高阶篇之十五
示例二:有不同的数据类型时的排序。

l = [2,5,'1',3,'6','4']
l.sort(key=int) # 强转为int类型比较
print(l)

执行结果为:
sort | Python从入门到精通:高阶篇之十五
显示的结果还是原来的元素,说明元素并没有被改变,而是在比较的时候换了一个身份而已。

sorted()

这个函数和sort()的用法基本一致,但是sorted()可以对任意的序列进行排序。并且使用sorted()排序不会影响原来的对象,而是返回一个新对象。

l = [2,5,'1',3,'6','4']

print('排序前:',l)
print(sorted(l,key=int))
print('排序后:',l)

执行结果为:
sort | Python从入门到精通:高阶篇之十五
可以看到,sorted不会影响列表元素本身,只是进行一个排序,并返回一个新的列表。

点击查看配套视频课程

查看更多内容,请订阅python学习站官方技术圈!

上一篇:闭包 | Python从入门到精通:高阶篇之十六


下一篇:装饰器引入 | Python从入门到精通:高阶篇之十七