sorted() :排序函数
语法:sorted(Iterable, key=None, reverse=False)
Iterable: 可迭代对象
key: 排序规则(函数),在sorted内部会把可迭代对象中的每一个元素传递给这个函数,然后根据函数的运算结果进行排序
reverse: reverse = True 降序 , reverse = False 升序(默认)
用法一: sorted(可迭代对象)
lst = [3,2,6,4,9,7,1,23,4]
new_lst = sorted(lst)
print(new_lst) #返回的新列表是经过排序的
[1,2,3,4,4,6,7,9,23]
用法二: 和函数组合使用
# 根据字符串⻓度进⾏排序
lst = ['大西瓜', '随笔', '今天是星期五', '嘿']
def func(s): # 计算字符串⻓度
return len(s)
print(sorted(lst, key=func)) #将列表每一个字符串传递给func 计算结果返回['嘿','随笔','大西瓜','今天是星期五']
用法三 :和lambda组合使用
#根据列表中每个字符串中a的数量排序
lst = ['ada', 'afdf', 'asdasdsasda', 'asdasdf', 'sss']
l = sorted(lst, key=lambda s: s.count('a'),reverse=True) # 内部,把可迭代对象中的每一个元素传递给func ,
print(l)
['asdasdsasda','asdasdf','ada','afdf','sss']