python lambda表达式举例_Python中lambda表达式[通俗易懂]

python lambda表达式举例_Python中lambda表达式[通俗易懂]一、lambda表达式形式lambda后面跟一个或多个参数,紧跟一个冒号,以后是一个表达式。冒号前是参数,冒号后是返回值。lambda是一个表达式而不是一个语句。lambda表达式可以出现在Python语法不允许def出现的地方。lambda表达式返回一个值。二、与def的区别lambda用来编写简单的函数,不会再重复利用的函数。而def用来处理强大的任务。三、举例1、fun=lambdax…


Jetbrains全系列IDE稳定放心使用

一、lambda表达式形式

lambda后面跟一个或多个参数,紧跟一个冒号,以后是一个表达式。冒号前是参数,冒号后是返回值。

lambda是一个表达式而不是一个语句。

lambda表达式可以出现在Python语法不允许def出现的地方。

lambda表达式返回一个值。

二、与def的区别

lambda用来编写简单的函数,不会再重复利用的函数。

而def用来处理强大的任务。

三、举例

1、

fun = lambda x,y,z : x + y + z

print fun(1, 2, 3)

输出结果:6

2、

fun = [(lambda n : i + n) for i in range(10)]

print fun[3](4)

print fun[4](4)

输出结果13,13,并非期望的7,8

解析:fun为一个函数数组,i为全局变量,即为9。fun[3](4)指调用fun中第三个函数,n赋值为3,所以结果为13。同理可得fun[4](4)值为13。

改为如下:

fun = [(lambda n,i = i : i + n) for i in range(10)]

print fun[3](4)

print fun[4](4)

输出结果为:7,8。为想要的结果。

3、如果使用过filter/map/reduce这几个函数,就会知道lambda表达式真的在匿名函数的写法上非常省时省力。

print filter(lambda x : x % 2 == 0, range(10))

print map(lambda x, y : x * y, range(1,4), range(1,4))

print reduce(lambda x, y : x + y, range(101))

输出结果:

[0, 2, 4, 6, 8]

[1, 4, 9]

5050

———————

作者:BIT_SKY

来源:CSDN

原文:https://blog.csdn.net/BIT_SKY/article/details/50781806

版权声明:本文为博主原创文章,转载请附上博文链接!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183363.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • BZOJ1172 : [Balkan2007]Dream

    BZOJ1172 : [Balkan2007]Dream

    2021年9月11日
  • ajax请求的五个步骤java_如何发送ajax请求?ajax请求的五个步骤详解[通俗易懂]

    ajax请求的五个步骤java_如何发送ajax请求?ajax请求的五个步骤详解[通俗易懂]Ajax是一种可以异步交互数据的技术,目前是前端开发的程序员们最需要的技术之一,那你们知道如何实现ajax吗?它又是怎么实现的呢?跟我一起了解一下吧。什么是ajax?AJAX是一种客户端Web开发技术,用于生成交互式Web应用程序。AJAX是一种开发应用程序的方法,它结合了下面的功能,使用JavaScript将它们组合在一起。AJAX是技术的组合,而不是单一的技术。HTML和C…

    2022年5月13日
  • Oracle数据库数据恢复方法

    Oracle数据库数据恢复方法前一段遇到:操作系统崩溃,数据库留有所有数据文件,控制文件,配置文件。下面记录一下数据恢复过程。1.下载安装Oracle数据库。安装的数据库定要与之前版本的数据库版本一致。安装的数据库位置要与之前安装的数据库位置一致。2.创建新的数据库。创建新的数据库实例,实例名称密码要与之前数据库实例一致。3.打开sqlPlus命令行(1)输入命令system/密码assysdba。(2)shutdownimmediate;关闭数据库。4.使用原本的数据文件替换到新的数据

    2022年7月17日
  • for循环的执行顺序

    一边回顾基础一边记录记录做个整理,这篇关于for循环的执行顺序:for(表达式1;表达式2;表达式3){循环体}第一步,先对表达式1赋初值;第二步,判别表达式2是否满足给定条件,若其值为真,满

    2021年12月25日
  • FastCGI 介绍

    FastCGI 介绍本文主要介绍FastCGI的相关知识。首先简要看一下CGI(百科)CGI(通用网关接口)CGI是Web服务器运行时外部程序的规范, 按CGI编写的程序可以扩展服务器功能。CGI应用程序能与浏览器进行交互,还可通过数据库API与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中。…

    2022年7月11日
  • java GC算法「建议收藏」

    java GC算法「建议收藏」一般来说,程序使用内存的方式遵循先向操作系统申请一块内存,使用内存,使用完毕之后释放内存归还给操作系统。然而在传统的C/C++等要求显式释放内存的编程语言中,记得在合适的时候释放内存是一个很有难度的工作,因此Java等编程语言都提供了基于垃圾回收算法的内存管理机制:垃圾内存回收算法常见的垃圾回收算法有引用计数法(ReferenceCounting)、标注并清理(MarkandSweep…

    2022年6月17日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号