python 排序

来源:互联网 发布:数控锥度螺纹编程实例 编辑:程序博客网 时间:2024/06/05 20:44

1.自定义比较函数

def mycmp(a,b):        return a[1]-b[1]num=[(0,1),(1,0),(2,4),(3,3)]num.sort(mycmp)print num
Press ENTER or type command to continue
[(1, 0), (0, 1), (3, 3), (2, 4)]

2.逆序排序

>>> num=[2,3,1,4]
>>> num.sort(reverse=True)
>>> num
[4, 3, 2, 1]

3.>>>L = [('b',2),('a',1),('c',3),('d',4)]
>>>L.sort(cmp=lambda x,y:cmp(x[1],y[1]))
>>>L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

4.list.sort(key = int)
key的最用相当于构建值,列表中的每个值实际上会转变为key(value),上例则为 int(value)
也就是 ['1','2','11','22'].sort(key = int)相当于[int('1'),int('2'),int('11'),int('22')].sort()
key可以理解为用于list comprehension的函数 ['1','2','11','22'].sort(key = int) 相当于
[int(x) for x in  ['1','2','11','22'] ].sort()

原创粉丝点击