zoukankan      html  css  js  c++  java
  • (11)lambda表达式用法

    * lambda 简述
        lambda只是一个表达式,函数体比def简单很多
        lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
        lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义
        lambda可以有多个参数列表
        lambda表达式也叫匿名函数
       
    * 简单例子
       result = lambda x:x+3
       求一个数加3的结果
      
       fun = lambda x,y:x*y
       求两个数相乘
      
       g = lambda x : x**2
       print g(4)
       数的平方
      
    * 和其它函数组合
        map() 将序列中的元素通过处理函数处理后返回一个新的列表
            li = [1, 2, 3, 4, 5]
            # 序列中的每个元素加1
            map(lambda x: x+1, li) # [2,3,4,5,6]
           
        filter() 将序列中的元素通过函数过滤后返回一个新的列表
            # 返回序列中的偶数
            filter(lambda x: x % 2 == 0, li) # [2, 4]
           
        reduce() 将序列中的元素通过一个二元函数处理返回一个结果
            # 返回所有元素相乘的结果
            reduce(lambda x, y: x * y, li) # 1*2*3*4*5 = 120 
           
        sorted() 结合lambda对列表进行排序
        sorted用法:
            sorted(iterable, cmp=None, key=None, reverse=False)--> new sorted list terable:是可迭代类型;
            cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;
            key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;
            reverse:排序规则. reverse = True 或者 reverse = False,有默认值。
            * 返回值:是一个经过排序的可迭代类型,与iterable一样。
        sorted(data, key=lambda d: d['sort_time'], reverse=True)   

  • 相关阅读:
    反转链表——临时变量的妙用
    C++指针学习(2)
    统计英文文本中的词频
    灵活的C++
    编程之美 NIM(1)扩展问题
    深度探索C++对象模型读书笔记(1)
    irrlicht1.7.0(2):基础接口
    关于裁剪空间与投影变换矩阵的推导
    irrlicht1.7.0(1):irrTypes.h
    【转】每天拿两个小时来浪费(文/王路)
  • 原文地址:https://www.cnblogs.com/toby2chen/p/5201200.html
Copyright © 2011-2022 走看看