排序函数
sort() 是 list 的方法,只有 list 能用,而sorted() 是内置函数,可以对所有可迭代的对象进行排序操作;
list 的 sort() 方法是原地操作,无返回值,而内置函数 sorted() 方法是返回一个新的 list。
基础语法
sorted(iterable, key=None, reverse=False)
- iterable - 可迭代的对象
- key - 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse - 排序规则,True表示降序,False表示升序(默认)
- 返回重新排序的列表
排序常和operator里面的方法结合起来使用,关于operator的说明,可以查看operator
使用说明
a = [
{'name':'Bill','age':40},
{'name':'Dean','age':12},
{'name':'Will','age':18},
]
#lambda 获取列表里面的每个元素,x就等同于{'name':'Bill','age':40}这个字典
b = sorted(a,key=lambda x:x['age'],reverse=True)
print(b)
>>>[{'name': 'Bill', 'age': 40}, {'name': 'Will', 'age': 18}, {'name': 'Dean', 'age': 12}]