Python 中的 sorted 和 sort的区别
2022/9/6 14:22:48
本文主要是介绍Python 中的 sorted 和 sort的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Python 中的 sorted 和 sort的区别 #sort 与 sorted 区别: # sorted() 是内置函数. sorted 可以对所有可迭代的对象进行排序操作,有返回值,返回列表; # sort 是list 上的方法,是对已经存在的列表进行inplace的操作,无返回值。 list1 = [11,5,33,9,222,6,3,8,7,99,123,24,456,6878,242,22,666,4654,87] list1.sort(reverse=False) list2 = sorted(list1,reverse=False) # 上面两条命令的结果相等 # 列表本身可以执行三元表达式 list1 = [11,5,33,9,222,6,3,8,7,99,123,24,456,6878,242,22,666,4654,87] list1 = [x for x in list1 if x>99] print(list1) # [222, 123, 456, 6878, 242, 666, 4654] # 倒序排列 list1.sort(reverse= True) print(list1) # [6878, 4654, 666, 456, 242, 222, 123] # 当列表包含子列表\元组或子字典时,sort方法的key的作用 # 单独的字典没有sort方法 # sort list2 = [('age',18), ('age',20),('age', 15)] list2.sort(key = lambda x :x[1], reverse=False) print(list2) # [('age', 15), ('age', 18), ('age', 20)] # sorted list2 = [('age',18), ('age',20),('age', 15)] list2 = sorted(list2) print(list2) # [('age', 15), ('age', 18), ('age', 20)] list2 = sorted(list2,reverse=True) print(list2) # [('age', 20), ('age', 18), ('age', 15)] # sort list3 = [[11,2], [3,4], [61,1], [6,2]] list3.sort(key = lambda x:x[0],reverse=True) print(list3) # [[61, 1], [11, 2], [6, 2], [3, 4]] list4 = list(filter(lambda x:x[0]>5, list3)) # sort方法配合filter print(list4) # [[61, 1], [11, 2], [6, 2]] # sorted list3 = sorted(list3,key = lambda x :x[0],reverse=True) print(list3) # [[61, 1], [11, 2], [6, 2], [3, 4]] list4 = list(filter(lambda x : x[0]>10, list3)) print(list4) # [[61, 1], [11, 2]] # sort list5 = [{'name':'lisa', 'gpa':19}, {'name':'lili', 'gpa':88}, {'name':'tom', 'gpa':81}, {'name':'jack', 'gpa':66} ] list5.sort(key = lambda x:x['gpa'],reverse= True) print(list5) # [{'name': 'lili', 'gpa': 88}, {'name': 'tom', 'gpa': 81}, {'name': 'jack', 'gpa': 66}, {'name': 'lisa', 'gpa': 19}] alldate = [{'学号': 2.0, '姓名': '李四', '科目': '数学', '成绩': 77.0}, {'学号': 3.0, '姓名': '王五', '科目': '数学', '成绩': 78.0}, {'学号': 1.0, '姓名': '张三', '科目': '数学', '成绩': 90.0}, {'学号': 3.0, '姓名': '王五', '科目': '英语', '成绩': 76.0}, {'学号': 1.0, '姓名': '张三', '科目': '英语', '成绩': 90.0}, {'学号': 2.0, '姓名': '李四', '科目': '英语', '成绩': 91.0}, {'学号': 1.0, '姓名': '张三', '科目': '语文', '成绩': 88.0}, {'学号': 3.0, '姓名': '王五', '科目': '语文', '成绩': 88.0}, {'学号': 2.0, '姓名': '李四', '科目': '语文', '成绩': 89.0}] alldate.sort(key=lambda x :(x['科目'],x['成绩'])) print(alldate) # [{'学号': 2.0, '姓名': '李四', '科目': '数学', '成绩': 77.0}, {'学号': 3.0, '姓名': '王五', '科目': '数学', '成绩': 78.0}, {'学号': 1.0, '姓名': '张三', '科目': '数学', '成绩': 90.0}, {'学号': 3.0, '姓名': '王五', '科目': '英语', '成绩': 76.0}, {'学号': 1.0, '姓名': '张三', '科目': '英语', '成绩': 90.0}, {'学号': 2.0, '姓名': '李四', '科目': '英语', '成绩': 91.0}, {'学号': 1.0, '姓名': '张三', '科目': '语文', '成绩': 88.0}, {'学号': 3.0, '姓名': '王五', '科目': '语文', '成绩': 88.0}, {'学号': 2.0, '姓名': '李四', '科目': '语文', '成绩': 89.0}] # sorted list5 = [{'name':'lisa', 'gpa':19}, {'name':'lili', 'gpa':88}, {'name':'tom', 'gpa':81}, {'name':'ajack', 'gpa':66} ] list6 = sorted(list5, key=lambda x:(x['gpa'], x['name'])) print(list6) # [{'name': 'lisa', 'gpa': 19}, {'name': 'ajack', 'gpa': 66}, {'name': 'tom', 'gpa': 81}, {'name': 'lili', 'gpa': 88}] alldate = [{'学号': 2.0, '姓名': '李四', '科目': '数学', '成绩': 77.0}, {'学号': 3.0, '姓名': '王五', '科目': '数学', '成绩': 78.0}, {'学号': 1.0, '姓名': '张三', '科目': '数学', '成绩': 90.0}, {'学号': 3.0, '姓名': '王五', '科目': '英语', '成绩': 76.0}, {'学号': 1.0, '姓名': '张三', '科目': '英语', '成绩': 90.0}, {'学号': 2.0, '姓名': '李四', '科目': '英语', '成绩': 91.0}, {'学号': 1.0, '姓名': '张三', '科目': '语文', '成绩': 88.0}, {'学号': 3.0, '姓名': '王五', '科目': '语文', '成绩': 88.0}, {'学号': 2.0, '姓名': '李四', '科目': '语文', '成绩': 89.0}] alldate = sorted(alldate, key=lambda x:(x['姓名'],x['科目']),reverse=True) print(alldate) # [{'学号': 3.0, '姓名': '王五', '科目': '语文', '成绩': 88.0}, {'学号': 3.0, '姓名': '王五', '科目': '英语', '成绩': 76.0}, {'学号': 3.0, '姓名': '王五', '科目': '数学', '成绩': 78.0}, {'学号': 2.0, '姓名': '李四', '科目': '语文', '成绩': 89.0}, {'学号': 2.0, '姓名': '李四', '科目': '英语', '成绩': 91.0}, {'学号': 2.0, '姓名': '李四', '科目': '数学', '成绩': 77.0}, {'学号': 1.0, '姓名': '张三', '科目': '语文', '成绩': 88.0}, {'学号': 1.0, '姓名': '张三', '科目': '英语', '成绩': 90.0}, {'学号': 1.0, '姓名': '张三', '科目': '数学', '成绩': 90.0}] # 我的总结 # sort是本身自带方法,不能改变自身,只有与filter、map、三元表达式才能生成新的数据 # sorted是内置函数,并且有返回值,也可以与filter、map配合生成新的数据。
这篇关于Python 中的 sorted 和 sort的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南