• Python的lambda


    if else 可以用简单的三元运算符表示

    if 1 == 1:
        name = 'wupeiqi'
    else:
        name = 'alex'
    

    --》

    name = 'wupeiqi' if 1 == 1 else 'alex'

    对于函数也可以lambda来简化表达

    # ###################### 普通函数 ######################
    # 定义函数(普通方式)
    def func(arg):
        return arg + 1
      
    # 执行函数
    result = func(123)
      
    # ###################### lambda ######################
      
    # 定义函数(lambda表达式)
    my_lambda = lambda arg : arg + 1
      
    # 执行函数
    result = my_lambda(123)  

    内置函数

    1,map

    遍历序列,对序列中每个元素进行操作,最终获取新的序列。

     

    li = [11, 22, 33]
    new_list1 = map(lambda a: a + 100, li)
    print new_list1
    

    [111, 122, 133]

    li = [11, 22, 33]
    sl = [1, 2, 3]
    new_list = map(lambda a, b: 2*a + b, li, sl)
    print new_list
    

    [23, 46, 69]

     2,filter

    对于序列中的元素进行筛选,最终获取符合条件的序列

     

    li = [11, 22, 33]
    new_list2 = filter(lambda arg: arg >= 22, li)
    print new_list2
    

    [22, 33]

    3,reduce

    对于序列内所有元素进行累计操作

     

    li = [11, 22, 33]
    sl = [1, 2, 3]
    result = reduce(lambda arg1, arg2: arg1 + arg2, li)
    print result
    # reduce的第一个参数,函数必须要有两个参数
    # reduce的第二个参数,要循环的序列
    # reduce的第三个参数,初始值

    匿名函数lambda作为返回值返回时输出值的问题

    def xc(x):
        return lambda x:x*x
    print xc(4)(4)
    
    def build(x,y):
        return lambda x,y: xx+yy
    print build(4,5)(4,5)
    
    def build():
        return lambda x,y: xx+yy
    print build()(5,5)
    
    pl=lambda x:x*x
    print pl(3)
    print xc(4)
    
    def build(x,y):
        return lambda : xx+yy
    print build(4,5)()
    
    def build(x,y,z):
        return lambda :xx+yy+z
    print build(4,5,9)()
    
    def build():
        return lambda x,y,z:xx+yy+z
    print build()(4,5,9)
    
  • 相关阅读:
    iOS面试题6.30总结
    关于外挂
    webstorm快捷方式
    HTML注释的一些规范
    认识Python
    正体复本术解决容易疲劳、不能持续集中精力工作-海淀区非物质文化遗产:#正体复本术#
    皮肤发痒的观察与思考
    win10不错的快捷键
    项目属性的target platform和target platform version到底是什么(vs2015开发windows驱动小记)
    玩Web虎-运行时受保护文件不可复制
  • 原文地址:https://www.cnblogs.com/huxinga/p/8150631.html
Copyright © 2020-2023  润新知