美文网首页
python中sort与sorted的区别

python中sort与sorted的区别

作者: 教训小磊 | 来源:发表于2022-11-04 16:50 被阅读0次

    1 sort

    sort是python中列表的方法

    1.1 sort() 方法语法

    list.sort(key=None, reverse=False)
    有两个参数,第一个参数用于高级排序(稍后具体讲),第二个参数当 reverse=True时为降序排列,reverse=False为升序排列,默认reverse=False。
    注意:该方法没有返回值,也就是返回值为 None,就是说sort是在源数据上进行修改。

    a = [-1,2,-3,22,55,-33,6,0] # 创建一个列表
    print(a) # 打印列表,输出为:[-1,2,-3,22,55,-33,6,0]
     
    print(a.sort()) # 输出为:None
    print(a) # 输出为:[-33, -3, -1, 0, 2, 6, 22, 55]
     
    a = a.sort()
    print(a) # 输出为:None
    ---------------分割线----------------
    第一个参数key的用法,主要是对排序的元素做进一步操作。
    例如根据列表中元素的绝对值(abs)大小对原数据进行排序,这个操作并不会修改源数据的值大小。
    a.sort(key=lambda x:abs(x))
    print(a)# 输出为:[0, -1, 2, -3, 6, 22, -33, 55]
    

    2 sorted

    sorted() 函数是python中的内置函数

    2.1 sorted()函数语法

    sorted(iterable=None, key=None, reverse=False)
    共有三个参数,后两个参数和 list.sort() 方法中的参数意思没有差别,第一个参数是一个可迭代对象。
    注意:sorted() 返回重新排列的列表,不改变源数据的位置。

    a = [-1,2,-3,22,55,-33,6,0] # 创建一个列表
    print(a) # 打印列表,输出为:[-1,2,-3,22,55,-33,6,0]
    
    sorted(a)
    print(a) # 打印列表,输出为:[-1,2,-3,22,55,-33,6,0],因为sorted() 函数不会改变原先的列表
    
    print(sorted(a)) # 输出:[-33, -3, -1, 0, 2, 6, 22, 55],因为 sorted() 函数返回一个排序好的列表
    
    a = sorted(a)
    print(a) # 输出:[-33, -3, -1, 0, 2, 6, 22, 55]
    

    相关文章

      网友评论

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

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