Python中的lambda表达式

这是一个表达式,更确切的说是函数,是一个一行函数,又称匿名函数,有些语言里称闭包。其语法结构如下:
lambda 传入参数 : 返回的计算表达式

lambda表达式冒号前为传入参数列表(可多个),冒号为计算表达式,通常只能跟一个表达式,可以使用if结构,如下所示。

f = lambda x, y : x if x > y else y
f(2, 3)

lambda表达式可以嵌套,即lambda冒号后的语句也是一个lambda表达式。

取二维列表每行最大值

复制代码
li = []
li.append([11, 2, 4, 3])
li.append([12,22, 14, 30])
li.append([1, 12, 41, 34])
print (li)
f = lambda x : lambda y : max(y[x])
print (f(0)(li))
print (f(1)(li))
print (f(2)(li))
lmax = [f(i)(li) for i in range(3)]
print (lmax)

程序执行结果:

\[11, 2, 4, 3\], \[12, 22, 14, 30\], \[1, 12, 41, 34\]

11
30
41

11, 30, 41

文末福利:(人工智能的本质与未来)

https://url12.ctfile.com/f/49054212-987754699-fa580b?p=2265 (访问密码: 2265)

相关推荐
xqqxqxxq5 分钟前
Java 线程池(一)
java·开发语言
qxwlcsdn12 分钟前
mysql在事务中执行DDL的后果_MySQL 8.0之前的限制
jvm·数据库·python
eggrall21 分钟前
Linux进程信号——像收快递一样理解 Linux 信号
linux·开发语言·c++
灰色人生qwer21 分钟前
Python 规则:带默认值的参数必须放在不带默认值的后面
linux·windows·python
foundbug99931 分钟前
MATLAB实现:基于图像对比度和波段相关性的高光谱波段选择算法
开发语言·算法·matlab
2401_8844541536 分钟前
如何防止SQL触发器导致性能下降_通过精简触发器逻辑
jvm·数据库·python
m0_5967490940 分钟前
Golang如何做Clean Architecture_Golang整洁架构教程【详解】
jvm·数据库·python
czt_java43 分钟前
线程安全问题
java·开发语言·jvm
techdashen1 小时前
Rust 模块和文件不是一回事:一次讲清 `mod`、`use`、`pub use`
开发语言·后端·rust
Wy_编程1 小时前
go中的协程Goroutine
开发语言·golang