sort()方法语法:
list.sort( key=None, reverse=False)参数
- key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)。
该方法没有返回值,但是会对列表的对象进行排序。
list = [1,2,3,5,4,7,87,4,9,56,44,7,5] list.sort()#默认从小到大排序 升序 list #结果为:[1, 2, 3, 4, 4, 5, 5, 7, 7, 9, 44, 56, 87] list.sort(reverse=True) # 倒序
如果对字典进行排序,需要制定按照哪个key排序,可以结合 lambda 函数使用
alist = [{'id': 1, 'name': '张三', 'rank': 3}, {'id': 5, 'name': '薛七', 'rank': 5}]
alist.sort(key=lambda x:x['rank'])
print(alist) # [{'id': 1, 'name': '张三', 'rank': 3}, {'id': 5, 'name': '薛七', 'rank': 5}]
使用 sorted() 函数对字典进行排序 一样的操作
dict = {1:3,3:2,4:1,2:3}
1,2,3,4
sorted(可迭代对象,key,reverse=True)
dict = {8:3,1:3,3:2,4:1,2:3}
# 按照字典的value 降序
sortdict = sorted(dict.items(),key=lambda item:item[1],reverse=True)
idlist = [i[0] for i in sortdict]
print(idlist) #[8,1,2,3,4]
sort 与 sorted区别:
- sort是应用在list(也就是列表)上的方法,属于列表的成员方法;而sorted是Python内置的全局方法,可以对所有可迭代对象进行排序操作
- 区别 sort() 会直接改变原数据,sorted() 不会直接改变原数据



