zoukankan      html  css  js  c++  java
  • Python_Tips[3] -> sort/sorted 排序函数

    排序函数 / Sort Function


    list自带的sort函数可以实现对列表的排列功能,具有同样功能的还有sorted函数。

    基本形式

    列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。sort函数是基于原有的列表进行修改,因此若是需要备份原始列表则可以通过列表的切片实现(若是直接赋值则被赋值列表会跟随原始列表变化)。

    1 # List built-in function, sort
    2 x = [4, 2, 5, 3, 8, 3]
    3 
    4 # Slice up the list x, then generate a new list y
    5 y = x[:]
    6 x.sort()
    7 print(x) # [2, 3, 3, 4, 5, 8]
    8 print(y) # [4, 2, 5, 3, 8, 3]

    而sorted函数与sort的功能类似,但sorted不仅可以操作列表,还可以操作字符串与字典等,操作字典时返回的是字典键值的排序列表。

    1 y = sorted(y) # [2, 3, 3, 4, 5, 8]
    2 
    3 z = sorted('python') # ['h', 'n', 'o', 'p', 't', 'y']
    4 z = sorted({3: 'c', 4: 'w', 1: 'c'}) # [1, 3, 4]

    可选参数

    sort和sorted函数可选的参数主要有两个,key和reevrse,其中key提供一个在排序过程中每次都会调用的函数,reverse则确定排序的大小顺序。

    1 # key parameter
    2 x = ['mmm', 'm', 'mmmm', 'mmmmm', 'mm'] 
    3 x.sort(key=len) # ['m', 'mm', 'mmm', 'mmmm', 'mmmmm']
    4 sorted(x, key=len) # ['m', 'mm', 'mmm', 'mmmm', 'mmmmm']
    5 
    6 # reverse parameter
    7 x = ['3', '2', '1', '6', '4'] 
    8 x.sort(key=int, reverse=True) # ['6', '4', '3', '2', '1']
    9 sorted(x, key=int, reverse=False) # ['1', '2', '3', '4', '6']

    参考链接


    http://www.jb51.net/article/52730.htm

  • 相关阅读:
    JSP中page和pageContext的区别
    exe4j生成的exe文件没有把jre文件也打进exe文件中
    exe4j将jar文件和jre文件打包成exe
    exe4j打包jar文件为exe文件出现的问题:The JAVA_HOME environment variable does not point to a working 32-bit JDK or JRE.
    JS作用域
    js 函数
    js数组
    js表达式和语句
    js操作符
    js注释和数据类型转换
  • 原文地址:https://www.cnblogs.com/stacklike/p/8227605.html
Copyright © 2011-2022 走看看