def add(list):
return list[0]+list[1]
a=[[3,4],[1,2],[5,6]]
a.sort(key=add) #该方法是将a列表的列表元素传入add()方法,计算出a中元素的和,根据和进行排序,再将a列表中的元素排序
也可以用下面匿名函数的方法排序
a.sort(key=lambda x:x[0]+x[1])
b=[3,5,1,4]
c=sorted(b) #b列表不变,生成一个新的排过序的列表c
b.sort() #b列表改变,b列表变为排过序的列表
a={2:'sd',4:'hj',1:'fg',3:'gf'}
b=sorted(a.items(),key=lambda e:e[0],reverse=False) #b的值为[(1, 'fg'), (2, 'sd'), (3, 'gf'), (4, 'hj')]
#a.items()表示将key和value以列表的形式传入函数中[(2, 'sd'), (4, 'hj'), (1, 'fg'), (3, 'gf')]
#key=lambda e:e[0]表示将传入的列表中每个元素中的第一个元素取出进行排序
#reverse=False表示升序
排序规则:小写<大写<奇数<偶数
a='5gG6R6ed4'
b=sorted(a,key=lambda x:(
x.isdigit(), #是否是数字
x.isdigit() and int(x)%2==0, #是否是偶数
x.isalpha() and x.isupper(), #是否是大写字母
x.isalpha() and x.islower() #是否是小写字母
))
print(''.join(b)) #b的值为gedGR5664
#其原理为:在sorted中,False小于True,所以将字符依次传入sorted中,可判断出以上四个条件分别是False还是True,再进行排序