美文网首页
python中sort与sorted

python中sort与sorted

作者: 听城 | 来源:发表于2017-10-25 20:22 被阅读17次

    sort与sorted是python中的排序函数。它们的最大区别在于sort是定义在list中的,对list起作用。而sorted则可以排序所有的可迭代对象

    sort

    首先我们来看一下sort的定义
    L.sort(key=None, reverse=False),有两个可选参数key和reverse。key是排序的值,everse = True 降序 或者 reverse = False 升序

    sort

    sorted

    sorted(iterable, key=None, reverse=False)
    Return a new list containing all items from the iterable in ascending order.
    A custom key function can be supplied to customize the sort order, and the reverse flag can be set to request the result in descending order.
    

    第一个参数为可迭代对象,其他参数同sort

    sorted

    我们可以看到sorted直接返回了一个列表,这也是它和sort不一样的一个地方,sort会修改原来的列表的值,sorted则直接返回一个列表。
    下面介绍参数的使用:

    import operator
    
    L = [('d',2),('a',4),('b',3),('c',2)]
    print(sorted(L))
    print(sorted(L,reverse=True))
    print(sorted(L,key=lambda x:x[1]))
    print(sorted(L,key=operator.itemgetter(1)))
    
    # [('a', 4), ('b', 3), ('c', 2), ('d', 2)]
    # [('d', 2), ('c', 2), ('b', 3), ('a', 4)]
    # [('d', 2), ('c', 2), ('b', 3), ('a', 4)]
    # [('d', 2), ('c', 2), ('b', 3), ('a', 4)]
    

    相关文章

      网友评论

          本文标题:python中sort与sorted

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