首页 > 代码库 > Python sorted

Python sorted

sorted函数:

iterable:是可迭代类型;
cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;
key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;
reverse:排序规则. reverse = True 或者 reverse = False,有默认值。
返回值:是一个经过排序的可迭代类型,与iterable一样。
 
注: 一般来说,cmp和key可以使用lambda表达式。

使用方法:

1.只有一个参数, 即需要排序的变量

  

2.使用reverse参数, reverse=True为逆序

  

3.使用key参数

  

  key和cmp是一个函数.

  >>> c = [(1,2), (4,4), (3,2)]
  >>> sorted(c, key=lambda (k,v):k)
  [(1, 2), (3, 2), (4, 4)]

  如果需要先对k排序然后再对v排序, 可以这样写:  sorted(c, key=lambda (k,v):(k,v))

4.cmp参数

  >>>L = [(‘b‘,2),(‘a‘,1),(‘c‘,3),(‘d‘,4)]
  >>>print sorted(L, cmp=lambda x,y:cmp(x[1],y[1]))
  [(‘a‘, 1), (‘b‘, 2), (‘c‘, 3), (‘d‘, 4)]

  注:效率key>cmp(key比cmp快)