sorted与sort对字典、列表、元组排序
1. sort:
sort是Python中列表的方法
sort() 方法语法:
list.sort(key=None, reverse=False)
有两个参数,这里不讲第一个参数,第二个参数当 reverse=True时为降序排列,reverse=False为升序排列,默认reverse=False
重要: 该方法没有返回值,也就是返回值为 None
代码案例:
# 对列表中每个元组中的str进行排序(可对数字,字母进行排序) tuple = [("a", 5), ("c", 2), ("b", 3), ("e", 7), ("d", 1)] tuple.sort(key=lambda x: x[0]) print(tuple) >>> [('a', 5), ('b', 3), ('c', 2), ('d', 1), ('e', 7)]
# 对列表中每个元组中的int类型进行排序 tuple = [("a", 5), ("c", 2), ("b", 3), ("e", 7), ("d", 1)] tuple.sort(key=lambda x: x[1]) print(tuple) >>> [('a', 5), ('b', 3), ('c', 2), ('d', 1), ('e', 7)]
# 对列表中每个字典的value进行排序 dict = [{"name": "张三", 'age': 3}, {"name": "张三", 'age': 4}, {"name": "张三", 'age': 2, }] dict.sort(key=lambda x: x["age"]) print(dict) >>> [{'name': '张三', 'age': 2}, {'name': '张三', 'age': 3}, {'name': '张三', 'age': 4}]
# 对列表中每个字典的value进行排序 dict = [{"name": "张三", 'age': "b"}, {"name": "张三", 'age': "a"}, {"name": "张三", 'age': "c", }] dict.sort(key=lambda x: x["age"]) print(dict) >>> [{'name': '张三', 'age': 'a'}, {'name': '张三', 'age': 'b'}, {'name': '张三', 'age': 'c'}]
2. sorted:
sorted() 函数是Python中的内置函数
语法: sorted(iterable=None, key=None, reverse=False)
共有三个参数,后两个参数和 list.sort() 方法中的参数意思没有差别,第一个参数是一个可迭代对象
返回值:返回重新排列的列表
注意:和 list.sort() 方法不一样的是,该函数不该变原来的可迭代对象,如 a 为一个列表,sorted(a) ,并不会改变 a,只会返回一个排序后的新列表
代码案例:
#对列表中每个元组中的str进行排序(可对数字,字母进行排序) tuple= [("a",5),("c",2),("b",3),("e",7),("d",1)] tuples1 = sorted(tuple,key=lambda x : x[0]) print(tuples1) >>>[('a', 5), ('b', 3), ('c', 2), ('d', 1), ('e', 7)]
#对列表中每个元组中的int类型进行排序 tuple= [("a",5),("c",2),("b",3),("e",7),("d",1)] tuples1 = sorted(tuple,key=lambda x : x[1]) #x[0]改成 x[1], print(tuples1) >>>[('a', 5), ('b', 3), ('c', 2), ('d', 1), ('e', 7)]
# 对列表中每个字典的value进行排序 dict = [{"name":"张三",'age': 3},{"name":"张三", 'age': 4} ,{"name":"张三",'age': 2,}] dict_1 = sorted(dict,key=lambda x : x["age"]) print(dict_1) [{'name': '张三', 'age': 2}, {'name': '张三', 'age': 3}, {'name': '张三', 'age': 4}]
# 对列表中每个字典的value进行排序(str类型排序) dict = [{"name":"张三",'age': "b"},{"name":"张三", 'age': "a"} ,{"name":"张三",'age': "c",}] dict_1 = sorted(dict,key=lambda x : x["age"]) print(dict_1) [{'name': '张三', 'age': 'a'}, {'name': '张三', 'age': 'b'}, {'name': '张三', 'age': 'c'}]

浙公网安备 33010602011771号