美文网首页
python-sort&sorted区别

python-sort&sorted区别

作者: 小二哥很二 | 来源:发表于2020-02-10 09:20 被阅读0次
    • sort(cmp=None, key=None, reverse=False)
    • sorted(iterable, cmp=None, key=None, reverse=False
    区别:
    • sort是容器的函数,用List的成员函数sort进行排序
    • sorted是Python的内建函数相同的参数,用built-in函数sorted进行排序
    • sorted(iterable,key=None,reverse=False),返回新的列表,对所有可迭代的对象均有效
    • sort(key=None,reverse=False) 就地改变列表 reverse:True反序;False 正序
      注释:类似深浅拷贝的意思
    1、基础排序:
    • sorted:不改变原来列表
    a=[1,3,2,7,-2]
    b=sorted(a)
    print(a)    ==>[1, 3, 2, 7, -2]
    print(b)    ==>[-2, 1, 2, 3, 7]
    
    • sort:改变原来列表
    a=[1,3,2,7,-2]
    b=a.sort()
    print(a)    ==>[-2, 1, 2, 3, 7]
    print(b)    ==>None
    
    2、key参数:lambda函数使用
    student=[
        ('lily','a',20),
        ('john','c',12),
        ('kitty','b',22)
    ]
    result=sorted(student,key=lambda age:age[2])    #切片
    print(result)    ==>[('john', 'c', 12), ('lily', 'a', 20), ('kitty', 'b', 22)]
    

    注释:或者用Operator模块函数也可以

    3、key参数:lambda函数使用,按照value排序
    b = {'a':1,'b':3,'c':2}
    ee = sorted(b, key=lambda x:b[x])
    print(ee)        ==> ['a', 'c', 'b']
    

    相关文章

      网友评论

          本文标题:python-sort&sorted区别

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