(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)   

转载于:https://www.cnblogs.com/toby2chen/p/5201200.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值