python内置函数sorted详解

sorted函数功能作用

内置函数sorted根据 iterable 中的项返回一个新的有序的列表,它不仅可以对列表进行排序,对其他的可迭代对象也能排序,因此相比于列表的sort方法有更广的适用范围。

sorted函数语法

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

参数

  • iterable 可迭代对象
  • key 如果为None,则比较元素大小,key可以是一个函数,函数从每个元素中提取用于比较的键
  • reverse 默认为False,表示从小到大进行排序

返回值

列表

示例代码

比较元素大小

lst = [5, 2, 1, 3]
sort_lst = sorted(lst, reverse=True)
print(sort_lst)         # [5, 3, 2, 1]

如果列表里的元素无法直接比较大小,可以使用key参数从每个元素中提取用于比较大小的key。

lst = [
    {'name': '小明', 'score': 97},
    {'name': '小红', 'score': 90},
    {'name': '小刚', 'score': 95},
]

sort_lst = sorted(lst, key=lambda x: x['score'])
for item in sort_lst:
    print(item)

列表里存储的是字典,两个字典之间不能直接比较大小,想要对他们进行排序,就必须指定两个字典之间比较大小时使用哪个具体的值,我在代码里指定使用score来代表字典进行大小比较。程序输出结果

{'name': '小红', 'score': 90}
{'name': '小刚', 'score': 95}
{'name': '小明', 'score': 97}

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案