目录
  • 1.函数sort()是对列表就地排序
  • 2.函数sort()修改序列,不返回任何值
  • 3.sorted()函数会返回一个排序列表,不改变原有序列
  • 4.函数sort()是升序排序,如何降序排序,需要用到函数reverse()
  • 5.函数sort()排序的高级用法
    • (1) key参数
    • (2) reverse参数
  • 补充:python中sort的用法——对列表中的元素按关键字排序
    • 总结

      1.函数sort()是对列表就地排序

      >>> x=[8,9,0,7,4,5,1,2,3,6]
      >>> x.sort()
      >>> print(x)
      [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      

      2.函数sort()修改序列,不返回任何值

      >>> x=[8,9,0,7,4,5,1,2,3,6]
      >>> y=x.sort()
      >>> print(y)
      None
      >>> print(x)
      [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      

      3.sorted()函数会返回一个排序列表,不改变原有序列

      >>> x=[8,9,0,7,4,5,1,2,3,6]
      >>> y=sorted(x)
      >>> print(y)
      [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      >>> print(x)
      [8, 9, 0, 7, 4, 5, 1, 2, 3, 6]

      4.函数sort()是升序排序,如何降序排序,需要用到函数reverse()

      >>> x=[8,9,0,7,4,5,1,2,3,6]
      >>> x.sort()
      >>> x.reverse()
      >>> print(x)
      [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
      

      5.函数sort()排序的高级用法

      方法sort()可以接受两个参数sort(key,reverse)

      (1) key参数

      key接受的是一个只有一个形参的函数

      key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序

      >>> x=[8,9,0,7,4,5,1,2,3,6]
      >>> def size(a):
      >>>     x=10-int(a)
      >>>     return x
      >>> x.sort(key=size)
      >>> print(x)
      
      [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

      (2) reverse参数

      reverse接受的是一个bool类型的值 (Ture or False),表示是否颠倒排列顺序,一般默认的是False,注意第一个字母是大写的

      >>> x=[8,9,0,7,4,5,1,2,3,6]
      >>> x.sort(reverse=True)
      >>> print(x)
      [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
      >>> x.sort(reverse=False)
      >>> print(x)
      [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      >>> 

      补充:python中sort的用法——对列表中的元素按关键字排序

      在python中,sort是列表排序的一种方法,调用方式为list.sort(),这样会改变原来列表的值。

      sort(key, reverse)方法有key和reverse两种参数,其中key表示的是排序的关键字,reverse表示的是排序的方式(reverse=False表示升序和reverse=True表示降序)

      sort()方法默认是升序排序,即默认reverse=False。

      下面主要写一下如何用sort根据关键字排序:

      对于一个列表,其中的元素也是列表,要根据元素中的值进行排序,直接看代码:

      例子一:

      l = [[1,2,3],[2,2,1],[2,1,3]]
      
      l.sort(key = lambda x: (x[0],-x[1]))
      '''
      其中key表示按第几个关键字排序,lambda x:后()中的元素表示了关键字的优先级
      第一位表示最高的优先级,第二位次之。。。
      其中下x[0]表示按第一个关键词的升序排列,-x[1]表示按第二个关键词的降序排列。
      '''
      print(l)
      #输出:[[1, 2, 3], [2, 2, 1], [2, 1, 3]]

      例子二:

      l = [[1,2,2],[2,2,1],[2,1,3]]
      
      l.sort(key = lambda x: (-x[2],x[1]))
      #表示按第三个元素的降序排列,然后再根据第二个元素的升序排
      print(l)
      #输出:[[2, 1, 3], [1, 2, 2], [2, 2, 1]]

      总结

      声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。