zoukankan      html  css  js  c++  java
  • 什么是lambda函数?有什么好处?


    lambda 函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的匿名函数

    好处:
    1、lambda 函数比较轻便,即用即删除,很适合需要完成一项功能,但是此功能只在此一处使用,
    连名字都很随意的情况下;
    2、匿名函数,一般用来给 filter, map 这样的函数式编程服务;
    3、作为回调函数,传递给某些应用,比如消息处理

    一、lambda函数的语法

    
    

     lambda语句中,冒号前是参数,可以有0个或多个,用逗号隔开,冒号右边是返回值。lambda语句构建的其实是一个函数对象。

    
    

     1》无参数:

    f = lambda:'Hello python lambda'
    f()
    #'Hello python lambda'

    2》有参数,无默认值

    f = lambda x,y: x*y
    f(6,7)
    #42

    3》有参数,有默认值

    
    
    f = lambda x=5, y=8: x*y
    f()
    #40
    f(5,6)
    #30
    4》和map, reduce, filter连用
    foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
     
    print filter(lambda x: x % 3 == 0, foo)#python 2.x
    list( filter(lambda x: x % 3 == 0, foo) )#python 3.x
    #[18, 9, 24, 12, 27]
     
    print map(lambda x: x * 2 + 10, foo)#python 2.x
    list( map(lambda x: x * 2 + 10, foo) )#python 3.x
    #[14, 46, 28, 54, 44, 58, 26, 34, 64]
     
    from functools import reduce#python 3.x need import reduce
    reduce(lambda x, y: x + y, foo)
    #139
     
     
  • 相关阅读:
    OI无关 透彻随笔
    置顶帖(传送门)/to 学弟 一个菜鸡的故事
    洛谷P1494 小Z的袜子 莫队
    关于 对拍 的一些认识
    关于 带权二分/wqs二分 的一些认识
    关于 KDtree 的一些认识
    关于 网络流 的一些认识
    省选 考前模板
    关于 多项式 的一些认识/多项式入门
    小球与盒子 的奇妙关系
  • 原文地址:https://www.cnblogs.com/lmh001/p/9790378.html
Copyright © 2011-2022 走看看