zoukankan      html  css  js  c++  java
  • python(13)——lambda表达式

    ambda表达式是一种简洁格式的函数。该表达式不是正常的函数结构,而是属于表达式的类型。 

    基本格式:

    lambda 参数,参数...:函数功能代码
    如:lambda x,y:x + y    获取2个值的和的lambda函数

    带分支格式:

    lambda 参数,参数... :值1  if 条件表达式  else 值2
    如:lambda sex : '有胡子' if sex == 'man' else '没胡子'

    调用函数格式:

    lambda 参数,参数...:其他函数(...)
    如:lambda x:type(x)

    lambda表达式的优缺点:

    优点:
        书写简单不需要def关键字
        不需要费脑子想函数名(匿名函数)看起来高大上!
    
    缺点:
        lambda表达式功能受限,无法使用循环和多项分支
        复杂的操作,不适合lambda表达式

    示例
    #方式1.声明一个简单的lambda表达式
    mylamb = lambda x,y:x+y
    #调用函数
    result = mylamb(4,5)
    print(result)
    
    #方式2.声明一个带有分支的lambda表达式
    mylamb= lambda sex : '有胡子' if sex == 'man' else '没胡子'
    #调用函数
    result = mylamb('woman')
    print(result)
    
    #方式3.声明一个调用函数的lambda表达式
    mylamb = lambda x:type(x)
    #调用函数
    result = mylamb('拾元')
    print(result)
    
    
    #使用列表推导式,制作所有99乘法表中的运算
    
    lists1 = [1,2,3,4,5,6,7,8,9]
    
    #利用元字符输出结果
    result = ['%d*%d=%2d'%(j,i,i*j) for i in lists1 for j in lists1 if j <= i]
    print(result)
    
    
    #字符串输出结果
    result = [str(j) + '*' + str(i) + '=' + str(i*j) for i in lists1 for j in lists1 if j <= i]
    print(result)
    
    
    
  • 相关阅读:
    MongoDB的查询
    商品订购及货物采购信息系统(代码分析)
    Java连接数据库(mysql,sqlserver)
    开通博客第一天
    Ubuntu下java环境的搭建
    商品订购及货物采购信息系统(需求分析)
    GitHub客户端发布托管代码
    property中copy和strong修饰符的使用指北
    iOS界面间传值
    GPUImage的滤镜功能一览表
  • 原文地址:https://www.cnblogs.com/w-yumiao/p/8282943.html
Copyright © 2011-2022 走看看