python23-sort方法与sorted函数的使用
目录
python2/3—sort方法与sorted函数的使用
Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。
一、基本形式
列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。
另一种获取已排序的列表副本的方法是使用sorted函数:
二、可选参数
1.cmp。可以定义自己的比较函数,然后通过参数传递给sort方法或者sorted函数
比较函数应该具有两个参数 a 和 b,其返回值如下:
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值。
2.key。key在使用时必须提供一个排序过程总调用的函数:
3.reverse。reverse实现降序排序,需要提供一个布尔值:
需要注意的是,在python3以后,sort方法和sorted函数中的cmp参数被取消,此时如果还需要使用自定义的比较函数,那么可以使用cmp_to_key函数。 将老式的比较函数(comparison function)转化为关键字函数(key function)。与接受key function的工具一同使用(如 sorted(), min(), max(), heapq.nlargest(), itertools.groupby())。该函数主要用来将程序转成 Python 3 格式的,因为 Python 3 中不支持比较函数。