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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 信道估计LS和MMSE_盲信道估计

    信道估计LS和MMSE_盲信道估计信道估计之LS在无线通信系统中,系统的性能主要受到无线信道的制约。基站和接收机之间的传播路径复杂多变,从简单的视距传输到受障碍物反射、折射、散射影响的传播。在无线传输环境中,接收信号会存在多径时延,时间选择性衰落和频域偏移,多径时延会带来符号串扰(ISI),可以通过插入保护间隔来减少;而由于时间选择性衰落和频率偏移带来的子载波干扰(ICI),除了依靠时频偏补偿来纠正外,还需要对信道进行估计,进一步进行补偿,即需要进行频域均衡和时域均衡。因此,信号估计性能的好坏直接影响接收信号的解调结果。这里对均衡技术就不

    2025年7月10日
    2
  • jsp中JDBC连接MySQL数据库[通俗易懂]

    jsp中JDBC连接MySQL数据库[通俗易懂]前言:在进行网页制作时,难免会有数据库的使用,今天来讲一下jsp中利用JDBC连接MySQL数据库:::文章目录:一.JDBC:二.连接数据库:1.需要的包:2.加载驱动:3.连接数据库:一.JDBC:JDBC:Java数据库连接(JavaDatabaseConnectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是SunMicrosystems的商标。我们通常说的JDBC是面向关系型数据库的。(–

    2025年10月15日
    5
  • pycharm怎么编译代码_python编程

    pycharm怎么编译代码_python编程python可以说是新的编程语言,虽说是新编程,但一出来,就受到很长程序员的关注,而且刚出现和java进行对比,很多人就拿python和java进行比较,想python到底好不好,他和java有什么区别,要想知道他们的区别,还是要了解python比较好,要知道python知识,今天我们就来看看python里的pycharm编写代码的方式教学。1、新建项目location:为创建项目的地址(或者叫文…

    2022年8月28日
    4
  • mybatis log Plugin 的激活码_通用破解码

    mybatis log Plugin 的激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    886
  • Sereja and Suffixes

    Sereja and Suffixes J- SerejaandSuffixesTimeLimit:1000MS     MemoryLimit:262144KB     64bitIOFormat:%I64d&%I64uSubmit StatusDescriptionSerejahasanarray a,consistingof n integers a1, a2, …, …

    2025年7月5日
    2
  • AIC准则的理解

    AIC准则的理解本文介绍AIC准则的产生及应用。

    2022年5月10日
    83

发表回复

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

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