美文网首页
python:sort与sorted区别

python:sort与sorted区别

作者: 学习python中 | 来源:发表于2020-02-22 20:51 被阅读0次

定义

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值

相关文章

网友评论

      本文标题:python:sort与sorted区别

      本文链接:https://www.haomeiwen.com/subject/myzlqhtx.html