定义
1.sort为list的内置函数,没有返回值,会修改list本身。

2.sorted为python内置函数,会返回一个新的列表,默认升序排列。
sorted可以对dict按照key值进行升序排列,最后返回的是对key值升序排列的list

共同点
key参数:
key参数的值为一个函数,此函数只有一个参数并返回一个值来进行比较;
key指定的函数会对每一个元素进行排序。
reverse参数:
默认为False,表示升序排列
设置reverse = True,表示降序排列
举例
1.复杂的列表进行排序
li = [("xiaoming",12,"male"),("xiaohua",11,"famale"),("xiaolan",13,"famale")]
li_res =sorted(li,key=lambda x:x[1],reverse=True)
print(li_res)
输出结果:
[('xiaolan', 13, 'famale'), ('xiaoming', 12, 'male'), ('xiaohua', 11, 'famale')]
解释:
上面排序是按照12,11,13降序排列
lambda x:x[1] x代表的是列表里面的每一个元素,类似于一个函数:
def fun(x):
return x[2]
2.对字典的value值进行排序
my_dict = {"xiaoming":12,"xiaohua":11,"xiaolan":13}
res_dict =sorted(my_dict, key=lambda x: my_dict[x])
print(res_dict)
解释:
x代表字典里每一个键值对的key值
网友评论