zoukankan      html  css  js  c++  java
  • python3中的sort和sorted函数

    1、在python3中,sort是对于列表类型的排序函数,函数原型为:L.sort(key=None, reverse=False),该方法没有返回值,是对列表的就地排序。

      •key-- 是指用来比较的关键字,可以说是列表元素的一个权值。key一般用来接受一个函数(或者匿名函数),这个函数只接受一个元素,并返回其权值

        •reverse-- 是否逆序排列

      

    a = ['Google', 'Runoob', 'Taobao', 'Facebook']
    
    a.sort() # 默认根据第一个字母排序
    print(a)
    
    a.sort(key= lambda x : x[1]) # 根据第二个字母排序
    print(a)
    
    def takeSecond(x):
        return x[1]
    a.sort(key=takeSecond)
    print(a)
    
    输出:['Facebook', 'Google', 'Runoob', 'Taobao']
            ['Facebook', 'Taobao', 'Google', 'Runoob']
            ['Facebook', 'Taobao', 'Google', 'Runoob']             
    

      

    2、python3中sorted函数取消了对cmp的支持,sorted 可以对所有可迭代的对象进行排序操作,尤其是可以对字典进行排序,其形式为:sorted(iterable, key=None, reverse=False)。sorted函数是有返回值的。

      

    d = {'lily':25, 'wangjun':22, 'John':25, 'Mary':19}
    sorted_keys = sorted(d) # 对字典而言,默认是对keys进行排序
    print(sorted_keys)
    sorted_keys1 = sorted(d, key=lambda x : x[1]) 
    print(d_new2)
    
    d_new = sorted(d.items(), key=lambda x: x[1], reverse=True) # 根据年龄排序,返回列表形式
    print(d_new)
    d_new = dict(d_new) # 使用内置函数把嵌套列表转换成字典
    print(d_new)
    
    sorted_values = sorted(d.values(), key=lambda x:x, reverse=False) # 排序值
    print(sorted_values)
    
    输出:
        ['John', 'Mary', 'lily', 'wangjun']
        ['wangjun', 'Mary', 'lily', 'John']
        [('lily', 25), ('John', 25), ('wangjun', 22), ('Mary', 19)]
        {'lily': 25, 'John': 25, 'wangjun': 22, 'Mary': 19}
        [19, 22, 25, 25]
    

      

    3、互换字典的键和值

      

    d = {'lily':25, 'wangjun':22, 'John':25, 'Mary':19}
    d_new = {v:key for key,v in d.items()}
    print(d_new)
    
    输出:{25: 'John', 22: 'wangjun', 19: 'Mary'}
    

      

      

      

      

  • 相关阅读:
    php分页类 (来源网络)
    symfony2 symofny3中得到get post session cookies的方法
    symfony route参数
    Symfony2同步数据库的数据表
    mysql中SQL执行过程详解与用于预处理语句的SQL语法
    使用MySQL命令行新建用户并授予权限的方法
    抽象类和接口的区别
    Yaf 使用遇到的坑
    Mysql 常用引擎的特点及选择使用策略
    定时任务 Crontab命令 详解
  • 原文地址:https://www.cnblogs.com/happyfool/p/10631367.html
Copyright © 2011-2022 走看看