zoukankan      html  css  js  c++  java
  • 【python深入】dict和list实现排序:sorted()和lambda的使用

    Python中经常需要对dict中的key值或者value值进行排序,可以通过sorted方法和lambda结合使用,接下来就是sorted()和lambda

    一、sorted()和lambda

    sorted()函数原型:

    sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

    我们可以看到:一共接受的参数有4个,

    需要排序的变量为iterable变量;

    cmp,比较的函数,具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0

    key,就是用来进行比较的元素,这个元素就是来源于可迭代对象中,指定可迭代对象中的一个元素进行排序

    reverse,代表是否逆序,默认情况下是正序

    lambda:

    匿名函数,用法是:lambda [arguments]: expression

    这个用法转换成函数形式就是:

    def lambda(arguments):

             return expression

    二、list和dict排序

    接下来是一堆例子,关于对list和dict进行排序的实例,结合这些更深入的理解sorted()和lambda

    1、  list排序

    然后是嵌套的list,会用到key参数

     

    2、  dict排序

    按照key值进行排序:

     

    按照value值进行排序:

     

    注意按照value值进行排序的正确方式是,sorted()方法的第一个参数是需要排序的变量,而对于dict而言,默认输入dict的变量名,key中的lambda中的k就是key,并没有value,因此会报出index out of range的错误,因此可以按照下面的方式执行,这样就可以得到dict中的key和value排序后的list,并且key和value依然是配对的情况

     

    如果我只是想要对value进行排序并且只输出value的结果呢?

            

            

  • 相关阅读:
    JSTL和EL
    SpringMVC 上传文件and过滤器
    SQLServer 大数据查询2
    SQLServer 大数据查询分析
    Oracle分页查询
    Oracle大数据常见优化查询
    Window 下面利用Oid 获取SNMP主机信息 以及计算方法
    window 下面安装net-snmp 简单网关协议
    显示一行省略文字的详细信息
    手机自动隐藏浏览器地址栏
  • 原文地址:https://www.cnblogs.com/keke-xiaoxiami/p/8546930.html
Copyright © 2011-2022 走看看