Python中sort函数用法

2021-01-11 10:18:03 浏览数 (3)

参考链接: Python中的sort

一、sort函数 

 sort函数是序列的内部函数

 函数原型:

  L.sort(cmp=None, key=None, reverse=False)

  函数作用:

  它是把L原地排序,也就是使用后并不是返回一个有序的序列副本,而是把当前序列变得有序

  参数说明:

  (1)  cmp参数

  cmp接受一个函数,拿整形举例,形式为:

  def f(a,b):

       return a-b

  如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;

  a逻辑等于b,函数返回0;

  a逻辑大于b,函数返回正数就行了

  (2)  key参数

   key也是接受一个函数,不同的是,这个函数只接受一个元素,形式如下

  def f(a):

       return len(a)

  key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序

  (3) reverse参数

  接受False 或者True 表示是否逆序

  sort举例:

  (1)按照元素长度排序

   L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]

   def

    f(x):

   return

    len(x)

  sort(key=f) 

   print L

   输出:

    [{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]

    (2)按照每个字典元素里面key为1的元素的值排序

     L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]

     def

      f2(a,b):

     return

      a[

     1

     ]-b[

     1

     ]

     L.sort(cmp=f2)

     print

      L

    输出:

     [{1: 1, 2: 4, 5: 6}, {1: 3, 6: 3}, {1: 5, 3: 4}, {1: 9}]

  二、sorted函数

  sorted函数是内建函数,他接受一个序列,返回有序的副本

  他与sort的唯一区别就是会返回副本

0 人点赞