python中sorted函数

sorted

iterable:是可迭代类型;

cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;

key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;

reverse:排序规则. reverse = True 或者 reverse = False,有默认值。

返回值:是一个经过排序的可迭代类型,与iterable一样。

注;一般来说,cmp和key可以使用lambda表达式

举例:

M=[('a', 1), ('b', 2), ('c', 6), ('d', 4), ('e', 3)]

若:sorted(l, key=lambda x:x[0])

则[('a', 1), ('b', 2), ('c', 6), ('d', 4), ('e', 3)]

若:sorted(l, key=lambda x:x[1])

则:[('a', 1), ('b', 2), ('e', 3), ('d', 4), ('c', 6)]

举例

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)]

比较两个维度的大小。


Python3中已经不能使用cmp()函数了,被如下五个函数替代:

import operator      #首先要导入运算符模块

operator.gt(1,2)      #意思是greater than(大于)

operator.ge(1,2)      #意思是greater and equal(大于等于)

operator.eq(1,2)      #意思是equal(等于)

operator.le(1,2)      #意思是less and equal(小于等于)

operator.lt(1,2)      #意思是less than(小于)

你可能感兴趣的:(python中sorted函数)