马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
sort()方法和sorted()函数都是执行排序功能,而它们又有哪些花里胡哨的用法呢?
在了解这些用法之前,我们要知道一个概念——高阶函数,满足下列两个条件:
1.参数是函数
2.返回值是函数
下面开始介绍用法:
sort()方法:
sort()方法是列表的BIF,所以作用对象只能是列表。list.sort(cmp=None, key=None, reverse=False),可以看到这里的参数是三个:
1.cmp:可选参数, 如果指定了该参数会使用该参数的方法进行排序。
2.key:指定一个函数,用该函数进行排序
3.reverse:默认reverse=False,从小到大,可指定reverse=True,从大到小
重点是在参数key上,可以指定排序的方法:
比如我要将列表中的字符串按长度排序: list1.sort(key=len)
当列表中的元素有int型,也有字符串型的数字,怎么排序呢?list1.sort(key=int)
sorted()函数:
sorted(iterable, cmp=None, key=None, reverse=False)
用法类比sort()方法
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。 |