zoukankan      html  css  js  c++  java
  • Python lambda函数的学习

     lambda函数在python 基础中没看过,查找资料目前知道如下的用法

    1. 用于简单表达式的计算
    lambda 参数:表达式

    如:
    result = lambda x: x**2
    print(result(3))

    ---- 参数也可以有多个

    result = lambda x,y:x+y
    print(result(3,4))


    2. filter函数和 lambda函数,此时lambda函数用于指定过滤列表元素的条件
    y = [1,3,4,5,6,7,10,8]
    res = filter(lambda x:x%2 ==0, y)
    print(list(res))
    ----是偶数打印出来-----

    3. sorted 函数和lambda函数,用于指定对列表中所有元素进行排序

    y = [1,3,4,5,6,7,10,8]
        res = sorted(y, key=lambda x: abs(5-x))
    print(res)
    -------倒序排增加关键字--------------
        res = sorted(y, key=lambda x: abs(5 - x),reverse=True)
    
    

    4. map 函数和lambda函数,用于指定对列表中每一个元素的共同操作
    y = [1,3,4,5,6,7,10,8,6]
    res = map(lambda x:x-1,y)
    print(list(res))

    5. reduce函数和lambda函数,---对相邻两个数按一定要求结合

    如:将相邻两个数以,复制给变量,该变量为字符串

    from functools import reduce
    res =
    reduce(lambda a, b: '{},{}'.format(a, b), [1, 2, 3, 4, 5, 6, 7, 8, 9])
    print(res)

    ----结果------
    1,2,3,4,5,6,7,8,9

    如:将相邻数累加

    from functools import reduce

    y = [1, 3, 4, 5, 6, 7, 10, 8]
    print(reduce(lambda x,z:x+z,y))

    '''过程'''
    1+3+4+5+6+7+10+8

    # 相邻的数相乘 + 1得出一个新值再和后面相邻的数相乘 + 1
    from functools import reduce
    y = [1, 3, 4, 5, 6]
    print(reduce(lambda x,z:x*z+1,y))

    '''
    运行步骤
    1 * 3 + 1=4
    4* 4 + 1 = 17
    17 * 5 + 1 = 86
    86 * 6 + 1 = 517












  • 相关阅读:
    1,Window安装Docker
    字符串编码
    hive自带derby数据库初始化
    numpy深浅复制
    matplotlib基础学习
    pandas基础学习
    numpy基础学习
    pandas之join、merge
    pandas之索引
    pandas之时间戳
  • 原文地址:https://www.cnblogs.com/xiaowandian/p/13710735.html
Copyright © 2011-2022 走看看