zoukankan      html  css  js  c++  java
  • Python 进阶 之 lambda 匿名函数

    lambda 是个匿名函数,通常用于简单判断或者处理,例如判断一个数的奇偶性,过滤字符串,逻辑运算等等。

    lambda表达式:

      >>>lambda x:x*x
      >>>lambda x,y:x*y
    

        lambda介绍:“:”左边的"x"; "x,y",代表了声明的变量,变量参数为多个时用逗号隔开,“:”为表达式,表达式的返回值即为整个lambda匿名函数的返回值

    lambda表达式嵌套:

      >>>lambda x,y:lambda a,b:a+b+x+y
    

        lambda介绍:嵌套后内层的lambda函数可引用外层lambda声明的变量,但一般不建议嵌套,可读性太差。

    lambda使用方法:

        第一种方法:直接赋值,赋值格式见代码

    >>> (lambda x:x*x)(5)
    25
    >>> (lambda x,y:x*y)(5,6)
    30
    >>> (lambda x,y:lambda a,b:a+b+x+y)(1,2)(3,4)
    10
    

      第二种方法:表达式赋给对象,对对象赋值

    >>> object = (lambda x:x*x)
    >>> object(5)
    25
    >>> object = (lambda x,y:x*y)
    >>> object(5, 6)
    30
    >>> object = (lambda x,y:lambda a,b:a+b+x+y)
    >>> object(1, 2)(3, 4)
    10
    

      通常情况下lambda不单独使用,lambda与map,filter 等可迭代函数相结合来批量完成某个功能的转换。

      例如:

      根据字符串类型的IP和子网掩码来计算网段。

    >>> ip = "10.17.99.63"
    >>> netmask = "255.255.0.0"
    >>> ".".join(map(lambda x,y:str(int(x)&int(y)),ip.split("."), netmask.split(".")))
    '10.17.0.0'
    

      

       

      

  • 相关阅读:
    oracle基于事件的调度简单学习
    ALTER SEQUENCE
    初识oracle嵌套表
    关于索引失效的一点学习
    Oracle的job用法简单小结
    oracle中的FLASHBACK TABLE 和查询闪回的一点认识
    数据库事务的学习(二)
    电动车驱动力与行驶阻力平衡图.png
    matlab 等高线contour
    IPMSM弱磁控制策略
  • 原文地址:https://www.cnblogs.com/JansXin/p/7451613.html
Copyright © 2011-2022 走看看