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

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • bs与cs的区别_试比较CS与BS的工作模式

    bs与cs的区别_试比较CS与BS的工作模式提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、CS二、BS总结前言本文章记录BS和CS的区别和优缺点一、CSCS:客户端服务器架构模式优点:充分利用客户端机器的资源,减轻服务器的负荷(一部分安全要求不高的计算任务存储任务放在客户端执行,不需要把所有的计算和存储都在服务器端执行,从而能够减轻服务器的压力,也能够减轻网络负荷)缺点:需要安装;升级维护成本较高例如:就像平时玩游戏,假如它不是CS模式是BS模式,通过网页的方式展示的。如果你的网络有些卡,你正.

    2022年10月17日
  • python内存回收的问题

    python内存回收的问题

    2021年11月27日
  • matlab输出矩阵格式_matlab中uint8函数用法

    matlab输出矩阵格式_matlab中uint8函数用法1、uint8与doubledouble函数只是将读入图像的uint8数据转换为double类型,一般不使用;常用的是im2double函数,将uint8图像转为double类型,范围为0-1,如果是255的图像,那么255转为1,0还是0,中间的做相应改变。MATLAB中读入图像的数据类型是uint8,而在矩阵中使用的数据类型是double。因此I2=im2dou…

  • MessageDigest的功能及用法(加密解密)

    MessageDigest的功能及用法(加密解密)MessageDigest的功能及用法MessageDigest类为应用程序提供信息摘要算法的功能,如MD5或SHA算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度

  • JAVA 日期格式化

    最近项目中需要用到SimpleDateFormat格式化日期,但是因为对日期格式的不熟练多花了十分钟左右的时间在日期格式化上面,所以趁着周末外面下着大雨闲着无聊整理一下日期格式问题。日期格式化学习预定义格式日期格式化样式自定义日期格式化预定义格式java提供了预定义的日期格式,预定义的日期格式可以满足绝大多数的场景需要。格式化日期需要两步:1、通过DateFormat.getDate…

  • lseek函数

    lseek函数转自:https://baike.baidu.com/item/lseek/6385407?fr=aladdin相关函数dup,open,fseek表头文件#include#include定义函数off_tlseek(intfilde,off_toffset,intwhence);

发表回复

您的电子邮箱地址不会被公开。

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