排序函数

sort() 是 list 的方法,只有 list 能用,而sorted() 是内置函数,可以对所有可迭代的对象进行排序操作;
list 的 sort() 方法是原地操作,无返回值,而内置函数 sorted() 方法是返回一个新的 list。

基础语法

sorted(iterable, key=None, reverse=False)

  • iterable - 可迭代的对象
  • key - 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse - 排序规则,True表示降序,False表示升序(默认)
  • 返回重新排序的列表

排序常和operator里面的方法结合起来使用,关于operator的说明,可以查看operator

使用说明

  1. a = [
  2. {'name':'Bill','age':40},
  3. {'name':'Dean','age':12},
  4. {'name':'Will','age':18},
  5. ]
  6. #lambda 获取列表里面的每个元素,x就等同于{'name':'Bill','age':40}这个字典
  7. b = sorted(a,key=lambda x:x['age'],reverse=True)
  8. print(b)
  9. >>>[{'name': 'Bill', 'age': 40}, {'name': 'Will', 'age': 18}, {'name': 'Dean', 'age': 12}]