sorted() 函数描述
Python3 sorted() 函数是python 3 中的一个内置函数,sorted() 函数作用是可以对所有可迭代的对象进行排序操作。
PS:有时候我们需要对拿到的字典之类的数据进行排序,就可以直接使用这个函数,而不需要进行for循环这样的操作去处理啦,如果数据是列表的话,也可以使用sort()函数,具体可以看我之前的文章:python sort()函数详解。
sorted() 函数可以对列表[]进行从小到大排序,对于字典{}dict,sorted函数默认只按照dict的key进行排序,如果是对字典的value进行排序的话,要对dict进行调整变形才可。
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
sort函数介绍:python sort()函数详解
sorted 语法:
sorted(iterable, key=None, reverse=False)
参数说明:
- iterable — 可迭代对象。
- key — 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse — 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
返回值
返回重新排序的列表。
实例
简单使用
random_list = [5,6,8,2,1,3,4,7,9]
sorted_list = sorted(random_list)
print(sorted_list)
输出结果
[1, 2, 3, 4, 5, 6, 7, 8, 9]
降序
random_list = [5,6,8,2,1,3,4,7,9]
sorted_list = sorted(random_list, reverse=True)
print(sorted_list)
输出结果
[9, 8, 7, 6, 5, 4, 3, 2, 1]
字典排序
对于字典{}dict,sorted函数默认只按照dict的key进行排序。
random_dict = {5: 'E', 2: 'B', 3: 'C', 4: 'D', 1: 'A'}
sorted_list = sorted(random_dict)
print(sorted_list)
输出结果
[1, 2, 3, 4, 5]
也可以使用 key 的值来进行数组/字典的排序
array = [{"age":20,"name":"a"},{"age":25,"name":"b"},{"age":10,"name":"c"}]
array = sorted(array,key=lambda x:x["age"])
print(array)
输出结果
[{'age': 10, 'name': 'c'}, {'age': 20, 'name': 'a'}, {'age': 25, 'name': 'b'}]