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'}]

 




posted @ 2021-09-27 16:48  刘逗逗!  阅读(677)  评论(0)    收藏  举报