对于简单的函数,也存在一种简便的表示方式,即:lambda表达式

#普通函数
1 def func(a):
2     return a+1
3 print 'test1_func0:',func(1000)
4
#lambda表达式
5 func0 = lambda a:a+1
6 print 'test2_func0:',func0(1000)

上面这种方法,都实现了将1000+1的结果打印出来这个功能。

lambda存在意义就是对简单函数的简洁表示。

上面是我们对calc这个匿名函数的分析,下面给出了一个关于匿名函数格式的说明

函数名 = lambda 参数 :返回值#参数可以有多个,用逗号隔开
#匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值
#返回值和正常的函数一样可以是任意数据类型

我们可以看出,匿名函数并不是真的不能有名字。

匿名函数的调用和正常的调用也没有什么分别。 就是 函数名(参数) 就可以了。


说到lambda,这里再赠送一些可以给lambda加buff小伙伴:

1.map函数,我们使用map函数将会对列表中的所有元素进行操作。map有两个参数(函数,列表),它会在内部遍历列表中的每一个元素,执行传递过来的函数参数。在输出到新列表中。

1 li = [11, 22, 33]
2 new_list = map(lambda a: a + 100, li)
输出:[111, 122, 133]

当然,map还可以完成多个数组的相加:

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

2.reduce函数,对于序列内所有元素进行累计操作:

lst = [11,22,33]
func2 = reduce(lambda arg1,arg2:arg1+arg2,lst)
print 'func2:',func2
输出:func2: 66

3.filter函数,他可以根据条件对数据进行过滤:

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


面试题练一练

现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]

#答案一
test = lambda t1,t2 :[{i:j} for i,j in zip(t1,t2)]
print(test(t1,t2))
#答案二
print(list(map(lambda t:{t[0]:t[1]},zip(t1,t2))))
#还可以这样写
print([{i:j} for i,j in zip(t1,t2)])

答案

转载于:https://www.cnblogs.com/maxiaotiaoshishui/p/7280090.html

day17.Python中lambda表达式应用相关推荐

  1. php有lambda表达式吗,Python中lambda表达式的简单介绍(附示例)

    本篇文章给大家带来的内容是关于Python中lambda表达式的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一:匿名函数的定义 lambda parameter ...

  2. Python中lambda表达式的优缺点及使用场景

    lambda表达式是什么? lambda 表达式是 Python 中创建匿名函数的一个特殊语法. 称 lambda 语法本身为 lambda 表达式,而它返回的函数我称之为 lambda 函数,或者称 ...

  3. python中lambda 表达式(无参数、一个参数、默认参数、可变参数(*args、**kwargs)、带判断的lambda、列表使用lambda)

    如果⼀个函数有⼀个返回值,并且只有⼀句代码,可以使⽤ lambda简化. lambda语法: lambda 参数列表 : 表达式 注意: lambda表达式的参数可有可⽆,函数的参数在lambda表达 ...

  4. Python中lambda表达式的语法与应用

    lambda表达式常用来声明匿名函数,也就是没有名字的.临时使用的小函数,虽然也可以使用lambda表达式定义具名函数,但很少这样使用. lambda表达式常用在临时需要一个于函数的功能但又不想定义函 ...

  5. 微课系列(8):Python中lambda表达式的变量作用域

    技术要点: 1)lambda表达式等价于一个小函数,表达式的值就是函数的返回值. 2)可以给lambda表达式起名字,也可以不起名字. 3)在lambda表达式中使用没有定义的变量,默认是全局变量. ...

  6. Python中lambda表达式的常见用法

    非常抱歉,昨天发的代码中有一处小错误,已通过留言的方式进行了纠正,详情请见详解Python列表推导式 lambda表达式常用来声明匿名函数,即没有函数名字的临时使用的小函数.lambda表达式只可以包 ...

  7. python中lambda表达式_Python天天美味(35) - 细品lambda

    lambda函数也叫匿名函数,即,函数没有具体的名称.先来看一个最简单例子: deff(x):returnx**2printf(4) Python中使用lambda的话,写成这样 g=lambdax  ...

  8. Python中lambda表达式学习

    lambda只是一个表达式,函数体比def简单很多. lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装有限的逻辑进去. lambda表达式是起到一个函数速写的作用.允 ...

  9. Python中lambda表达式_匿名函数

    lambda表达式和匿名函数 lambda表达式 ​ lambda表达式可以用来声明匿名函数,实际生成一个函数对象. ​ lambda表达式只允许包含一个表达式,该表达式的计算结果就是函数的返回值. ...

最新文章

  1. 制度汇编格式怎么生成目录_来自世界500强企业的管理表格DOC格式 1900套
  2. 希捷携全线企业级解决方案出席ODCC,Exos X18与Exos 2X14硬盘斩获两项大奖
  3. NSTimer 增加引用计数, 导致内存泄露,
  4. jaxb和dozer简介
  5. 风暴航路的地图编号_砖厂风暴航路已倒闭,新的搬砖圣地诞生
  6. 计算机丢失binkw32会怎么样,binkw32.dll 丢失 binkw32dll安装在哪
  7. PHP学习总结(11)——PHP入门篇之WAMPServer多站点配置
  8. linux python2.7 mssqlserver_连接到linux上的MSSQL Server 2008
  9. DropDownList如何绑定DataTable,如何绑定DataSet
  10. vue css隐藏_Vue+BootStrapV4,构建响应式、移动优先项目——BootstrapVue
  11. vm9.02的序列号
  12. 知网论文CAJ格式免费转换成PDF,你学会了吗
  13. Anaconda安装python包的几种方法
  14. 其他——精灵 4 RTK常见问题
  15. java安装后为什么是英文_java用到英语多吗
  16. 未能打开这台计算机上的组策略对象,您可能没有合适的权限
  17. 小米首页二级菜单栏实现原理
  18. 电源选项这样设置最好-睡眠模式和休眠模式的区别
  19. Servlet注解和可插拔性(第八篇)
  20. 医疗大数据平台的标准化通迅协议构建和架构

热门文章

  1. 2018-2019-2 网络对抗技术 20165237 Exp7 网络欺诈防范
  2. dubbo超时重试和异常处理
  3. java 创建string对象机制 字符串缓冲池 字符串拼接机制 字符串中intern()方法...
  4. UE4 使用VaRest的最佳实践
  5. 百度面试测试开发工程师内容
  6. datagrid后台分页js.js
  7. MVC中helper的用法。
  8. 11款有用的Web开发在线工具
  9. 大型主机CICS中间件基础
  10. 设计模式(一)简单工厂(创建型)(JavaPHP)