天天看点

python排序,sorted、sort函数

sorted(iterable[, cmp[, key[, reverse]]])
iterable.sort(cmp[, key[, reverse]])
           

参数解释:

 (1)iterable指定要排序的list或者iterable,不用多说;

 (2)cmp为函数,指定排序时进行比较的函数,可以指定一个函数或者lambda函数,如:students为类对象的list,每个成员有三个域,用sorted进行比较时可以自己定cmp函数,例:通过比较第三个数据成员来排序,代码:

students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
f = sorted(students, key=lambda student : student[2])
print(f)

结果:[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
           

 (3)key为函数,指定取待排序元素的哪一项进行排序,函数用上面的例子来说明,代码如下:

sorted(students, key=lambda student : student[2])
           

二、list按长度排序

       sorted或者 list.sort()进行排序,内置sorted返回一个新的列表,而list.sort是对列表进行操作;reverse:排序规则:reverse = True  降序、False 升序

list = ['产业集团','电子信息产业集团','信息产业集团','中国电子信息产业集团']  
list1 = sorted(list,key = lambda i:len(i),reverse=True)  
print(list1) 
list.sort(key = lambda i:len(i),reverse=True)
print(list)