zoukankan      html  css  js  c++  java
  • sort 与 sorted 区别

    sort 与 sorted 区别:

    sort 是应用在 list 上的方法,(就地排序无返回值)。

    sorted 是内建函数,可对所有可迭代的对象进行排序操作,(返回新的list)。

    语法

    sorted 语法:

    sorted(iterable, key=None, reverse=False)  

    参数说明:

    • iterable -- 可迭代对象。
    • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    • reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

    实例

    >>>a = [5,7,6,3,4,1,2]
    >>> b = sorted(a)       
    >>> a 
    [5, 7, 6, 3, 4, 1, 2]
    >>> b
    [1, 2, 3, 4, 5, 6, 7]
     
    >>> L=[('b',2),('a',1),('c',3),('d',4)]
    >>> sorted(L, key=lambda x:x[1]) [('a', 1), ('b', 2), ('c', 3), ('d', 4)] >>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] >>> sorted(students, key=lambda s: s[2]) [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
    >>> sorted(students, key=lambda s: s[2], reverse=True) [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] >>>

     

     练习

    假设我们用一组tuple表示学生名字和成绩:
    L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
    用sorted()对上述列表: (
    1)按名字排序: (2)按成绩从高到低排序:

     答案:

    >>> print('sorted_by_name:', sorted(L, key=lambda x: x[0]))
    sorted_by_name: [(
    'Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)] >>>print('sorted_by_score:', sorted(L, key=lambda x: x[1], reverse=True)) sorted_by_score: [('Adam', 92), ('Lisa', 88), ('Bob', 75), ('Bart', 66)]

      

  • 相关阅读:
    Django: ModelForm中Meta的fields等成员介绍
    python的random函数
    设置mysql隔离级别
    ubantu 下 修改mysql 默认编码
    jdbc 模板 连接
    sql 注入 与解决
    jdbc 简单连接
    动态代理 例子
    自定义的一个数据输入类
    类加载器 读取配置文件
  • 原文地址:https://www.cnblogs.com/liangmingshen/p/10061552.html
Copyright © 2011-2022 走看看