python2/3---sort方法与sorted函数的使用

来源:互联网 发布:mysql和oracle语法区别 编辑:程序博客网 时间:2024/05/20 05:27

  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 中不支持比较函数。

这里写图片描述

原创粉丝点击