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


相关推荐

  • loading 遮罩层

    JS代码片段//数据请求方法vardom=$(“#loading”).length;if(!dom){$(“body”).append(“

    “);}$(“#loading”).show();//开始请求………//如果正常$(“#loading”).hide();对应的CSS设置#loading{

    2022年4月13日
    42
  • scrapy安装步骤_scrapy安装教程

    scrapy安装步骤_scrapy安装教程Scrapy安装Scrapy的安装有多种方式,它支持Python2.7版本及以上或Python3.3版本及以上。下面说明Python3环境下的安装过程。Scrapy依赖的库比较多,至少需要依赖库有Twisted14.0,lxml3.4,pyOpenSSL0.14。而在不同平台环境又各不相同,所以在安装之前最好确保把一些基本库安装好,尤其是Windows。Anaconda这种…

    2022年9月18日
    0
  • 如何判断一段数据趋势,上升或 下降

    如何判断一段数据趋势,上升或 下降

    2021年11月22日
    39
  • 魔兽世界9.0插件推荐_魔兽世界9.1插件推荐

    魔兽世界9.0插件推荐_魔兽世界9.1插件推荐上一篇博客主要是简单的介绍了下NGUI合并DrawCall的基本原理,就是将一个UIPanel里所有的UIWidget按照Depth的大小进行排序,然后遍历排序后的UIWidget列表,将Depth相邻的并且懂事引用同一个Atlas的UIWidget的几何数据存入到一个UIGeometry中然后统一由一个UIDrawCall来调用GPU绘制。那么知道了NGUIDrawCall的基本原理我

    2022年9月2日
    2
  • bt云服务器地址,windows2008搭建bttracker服务器

    bt云服务器地址,windows2008搭建bttracker服务器在windows2008系统上搭建bttrackers服务器所需要用到的两个包下载地址:我这里所使用的是Python-2.3b2版本来运行BitTorrent1、安装Python并设置环境变量安装步骤省略,没有什么特殊的,一直下一步就好,默认是安装在C盘,我这里更改了安装路径,安装在了E:\Python23下计算机-属性-高级系统设置-环境变量-系统变量-Path编辑-在变量值后面加上;E:\P…

    2022年6月17日
    43
  • cmd不能切换盘符_cmd cd到d盘切换不过去

    cmd不能切换盘符_cmd cd到d盘切换不过去一开始输入cdd;一直无效 经过查找通过输入cd/dd:成功切换盘符

    2022年9月27日
    0
  • 发表回复

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

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