zoukankan      html  css  js  c++  java
  • python-lambda用法

    前言:

    lambda函数也叫匿名函数,即,函数没有具体的名称。


    一、基础

    lambda语句构建的其实是一个函数对象。匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。

    lambda(a,b: a+b)
    #关键字lambda表示匿名函数,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。

    lambda优点:
    1、使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
    2、对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
    3、使用lambda在某些时候让代码更容易理解。

    举一个简单的例子:
    def f(x):
      return x**2
      print f(4)
    
    Python中使用lambda的话,写成这样
    g = lambda x : x**2
    print g(4)

    二、进阶-内置函数

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

    li = [11, 22, 33]
    sl = [1, 2, 3]
    new_list = map(lambda a, b: a + b, li, sl)
    print(list(new_list))
    结果输出为:
    >>>[12,24,36]

    2、reduce()
    对于序列内所有元素进行累计操作

    from functools import reduce
    
    li = [11,22,33]
    result = reduce(lambda a,b:a+b,li)
    # reduce的第一个参数,函数必须要有两个参数
    # reduce的第二个参数,要循环的序列
    # reduce的第三个参数,初始值
    print(result)
    输出结果:
    >>>66

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

    li = [11,22,33]
    new_list = filter(lambda a:a>22,li)
    print(list(new_list))
    #filter第一个参数为空,将获取原来序列
    输出结果:
    >>>[33]

    以上~

  • 相关阅读:
    实现将Web页面的内容,Export To Excel的功能
    设计模式点滴
    Vista上运行VisualStudio2005,调试asp.net程序的怪问题
    《天风文章》V1.0.0使用说明
    呵呵,cnblog排名进4000了,留念一下!
    一个程序只能启动一次实现
    VS中"生成注释WEB页"的问题
    用友Cell组件使用总结
    《天风文章》 V1.1.0设计文档
    SQL 数据库的自动备份(Procedures实现)
  • 原文地址:https://www.cnblogs.com/xiaoxi-3-/p/8872492.html
Copyright © 2011-2022 走看看