Python匿名函数lambda详解:定义、用法与高阶组合技巧

Nora
Nora
发布时间:2026-10-14 | 2人浏览过
原创

本文深入解析Python中的匿名函数lambda,涵盖其定义、语法特点及适用场景。详细演示如何将lambda与三目运算、传统函数结合使用,并重点讲解在map、filter、reduce及sorted等高阶函数中的组合技巧,帮助开发者写出更简洁高效的Python代码。

匿名函数

1.什么是匿名函数

lambda是Python中的一个关键字,用于声明匿名函数。它本质上是一个表达式,也是构成函数的最小独立单元。

顾名思义,匿名函数即没有显式名称的函数。

它主要适用于逻辑简单的业务场景。

其核心特征是“一行一个函数”,即单行表达式。

通俗来说,对于逻辑不复杂、无需大规模批量调用的功能,可以使用匿名函数来构建,这得益于其书写形式的简易性。

#lambda简约而不简单

需要注意,lambda是Python的关键字,专门用于声明匿名函数。

匿名函数的难点并不在于其构建本身,而在于如何将其与其他函数组合使用。

2.如何声明/调用一个匿名函数(lambda)


#传统函数:
def add(num1):
	return num1 * 2
调用:add(2)
输出:4
def add(num1,num2):
	return num1 + num2
调用:add(1,2)
输出:3
#匿名函数:
result = lambda x: x*2
调用:result(2)
输出:4 
result = lambda x,y: x+y
调用:result(x=1,y=2)
输出:3

3.匿名函数的几种使用方式


#1、匿名函数组合三目运算
传统函数
def compare(x,y):
	if x > y:
		return x
	else:
		return y
调用:compare(2,1)
输出:2
匿名函数
compare = lambda x,y: x if x > y else y
调用:compare(2,1)
输出:2

#2、把lambda作为一个方法传入传统函数
schools = ["Python基础",
		   "Python爬虫",
		   "Java编程",
		   "Java Web",
		   "Python数据分析"
]
def keyword_serch(keys,func):
	search_result= []
	for result in keys:
		if func(result):
			search_result.append(result)
	return search_result
condition = lambda x: True if "Python" in x else False
调用:keyword_serch(schools,condition)
输出: ["Python基础","Python爬虫","Python数据分析"]

#3、如何给def函数中的lambda传参数?
def main():
	return lambda x: True if x == 10 else False
			(如果x等于10返回真,否则为假)
调用:main()(10) 
	执行main函数,但是main不需要传参;
	第二个括弧则是为lambda传送的x的参数
输出:True

#4、把lambda作为一个方法传入传统函数
def income(basic,transport,phone):
	return lambda x: x+basic+transport+phone
调用:total = income(1000,2000,3000)
	 total(4000)
输出:10000
schools = ["Python基础",
		   "Python爬虫",
		   "Java编程",
		   "Java Web",
		   "Python数据分析"
]
def keyword_search(keys,func):
	search_result= []
	for key in keys:
		if func(key):
			search_result.append(key)
	return search_result
def search_condition(c):
	return lambda x: True if c in x else False
python = search_condition("Python")
调用:keyword_search(schools,python)
输出:["Python基础","Python爬虫","Python数据分析"]

4.匿名函数的组合使用

map函数


filter函数


reduce函数



sorted函数



总结

以上就是本文的全部内容,希望能对大家有所帮助,同时也欢迎大家关注本站以获取更多技术资讯!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表