自定义排序
01.sorted排序
1.sorted(可迭代对象,key=None,reverse=False):返回一个排序后的结果
- key主要是用来进行比较的元素,只有一个参数,制定可迭代对象中的一个元素来进行排序,一般默认不写
- reverse--排序规则,reverse=True降序,revere=False升序(默认)
a=[1,3,2,5,4]
sorted_a=sorted(a)
print(sorted_a)
2.自定义规则:
①写一个比较函数cmp
②套入functools模块中的cmp_to_key
from functools import cmp_to_key
#当a排在前面返回负数,当b排在前面返回正数,二者相等返回0
def cmp(a,b):
if abs(a)<abs(b):
return -1
elif abs(a)>abs(b):
return 1
else:
return 0
a=[-2,1,-3,-5,4]
sorted_a=sorted(a,key=cmp_to_key(cmp))#[1, -2, -3, 4, -5]
print(sorted_a)
02.list.sort排序
对于list,可以直接调用sort,直接在原list上进行排序
a=[1,3,2,5,4]
a.sort()
print(a)