>>> help(sorted) Help on built-in function sorted in module __builtin__: sorted(...) sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
sorted
传入key函数,即可实现忽略大小写的排序:#Python lower() 方法转换字符串中所有大写字符为小写
#这一步把大写变小写,再sorted
>>> sorted([‘bob‘, ‘about‘, ‘Zoo‘, ‘Credit‘], key=str.lower)
[‘about‘, ‘bob‘, ‘Credit‘, ‘Zoo‘]
from operator import itemgetter
students = [(‘Bob‘, 75), (‘Adam‘, 92), (‘Bart‘, 66), (‘Lisa‘, 88)] print(sorted(students,key=itemgetter(0)))#key值设置成第一个域来排序 print(sorted(students, key=lambda t: t[1]))#key值设置称t[1],第二个域来排序 print(sorted(students, key=lambda t: t[0],reverse=True))#key值设置成t[0],第一个域来排序,注意这有个反转,反转就是把顺序倒过来
print(sorted(students, key=itemgetter(1), reverse=True))
输出结果:
>>>[(‘Adam‘, 92), (‘Bart‘, 66), (‘Bob‘, 75), (‘Lisa‘, 88)] >>>[(‘Bart‘, 66), (‘Bob‘, 75), (‘Lisa‘, 88), (‘Adam‘, 92)] >>>[(‘Lisa‘, 88), (‘Bob‘, 75), (‘Bart‘, 66), (‘Adam‘, 92)] >>>[(‘Adam‘, 92), (‘Lisa‘, 88), (‘Bob‘, 75), (‘Bart‘, 66)]
>>> help(sorted) Help on built-in function sorted in module __builtin__: sorted(...) sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
>>> r=lambda x,y:x*y #实现x*y, >>> r(2,3) 6
#key值设置成第一个域来排序
a = [(‘john‘, ‘A‘, 15), (‘jane‘, ‘B‘, 12), (‘dave‘, ‘B‘, 10)]
print sorted(a, key=itemgetter(1,2))
>>>[(‘john‘, ‘A‘, 15), (‘dave‘, ‘B‘, 10), (‘jane‘, ‘B‘, 12)]
但是姓名没有排序,所以给第一个域来一波操作
print sorted(a, key=itemgetter(0,1,2))
>>>[(‘dave‘, ‘B‘, 10), (‘jane‘, ‘B‘, 12), (‘john‘, ‘A‘, 15)]
python关于sorted里面key,reverse以及lamdba,operator这几个鸟人
原文:https://www.cnblogs.com/Harryzhou/p/10512878.html