查看上一节:匿名函数
sort函数
该方法用于对列表中的元素进行排序。
l = ['bb','aaaa','c','ddddddddd','fff']
l.sort()
print(l)
执行结果为:
sort()方法默认是直接比较列表中的元素的大小。
如果是比较其他内容,比如字符串的长度,可以通过关键字key来操作:
在sort()可以接收一个关键字参数 : key;key需要一个函数作为参数,当设置了函数作为参数,每次都会以列表中的一个元素作为参数来调用函数,并且使用函数的返回值来比较元素的大小。
l = ['bb','aaaa','c','ddddddddd','fff']
l.sort(key=len) # 以字符串的长度排序
print(l)
执行结果为:
示例二:有不同的数据类型时的排序。
l = [2,5,'1',3,'6','4']
l.sort(key=int) # 强转为int类型比较
print(l)
执行结果为:
显示的结果还是原来的元素,说明元素并没有被改变,而是在比较的时候换了一个身份而已。
sorted()
这个函数和sort()的用法基本一致,但是sorted()可以对任意的序列进行排序。并且使用sorted()排序不会影响原来的对象,而是返回一个新对象。
l = [2,5,'1',3,'6','4']
print('排序前:',l)
print(sorted(l,key=int))
print('排序后:',l)
执行结果为:
可以看到,sorted不会影响列表元素本身,只是进行一个排序,并返回一个新的列表。
点击查看配套视频课程
查看更多内容,请订阅python学习站官方技术圈!