首页 文章资讯内容详情

python lambda表达式

2026-06-01 3 花语

本文内容纲要:

session=property(lambdaself:object_session(self))#记录已有的session,hold住一个数据传输通道

一、概述

lambda的一般形式是关键字lambda后面跟一个或多个参数,紧跟一个冒号,以后是一个表达式。lambda是一个表达式而不是一个语句。它能够出现在Python语法不允许def出现的地方。作为表达式,lambda返回一个值(即一个新的函数)。lambda用来编写简单的函数,而def用来处理更强大的任务。【1】

二、lambda的使用【1】

1、一般的形式

f=lambdax,y,z:x+y+z

printf(1,2,3)#6

2、lambda用来编写跳转表(jumptable)行为的列表或者字典,(个人理解应该就是矩阵matrix)吧

L=[lambdax:x+2,lambdax:x*2,lambdax:x**2]

print"L=",L[0](1),L[1](2),L[2](3)

#L=349

D={"d1":lambdax:x**1,"d2":lambdax:x**2,"d3":lambdax:x**3}

print"D=",D["d1"](2),D["d2"](2),D["d3"](2)

#D=248

写了一下这两个例子发现自己基础真是烂包

3、lambda的嵌套使用,从可读性角度来讲应该避免(看了例子深有感触,我有些懵)【2】

l=lambda:lambdax:x+5

b=l()

print"b=",b(2)

print"==",(l())(2)

#b=7

#==7

4、与map函数的比较

definc(x):

returnx+10

l=[1,2,3]

printmap(inc,l)

printmap(lambdax:x+10,l)

#[11,12,13]

#[11,12,13]

5、列表解析实现map功能并且更高效

6、以后全部是列表解析相关的示例------

--------41316--

参考链接:【1】、python学习12

【2】、python中lambda表达式学习

本文内容总结:

原文链接:https://www.cnblogs.com/mxh1099/p/5386529.html