匿名函数是指没有函数名称的函数。而Python中的lambda保留字可以用来定义一个匿名函数。
Python中的lambda可以用于需要函数对象的地方,可以帮助我们快捷的完成一定的运算。在lambda函数中可以传入多个参数,但只允许有一个表达式,该表达式被计算后并返回结果。
[fun_obj =] lambda [parameter_list] : expression
位于[ ]中的内容是可选的。
下面这个例子用于计算一个数的平方数。
f = lambda x: x*x
s1 = f(2)
print("s1=",s1)
print("f(3)=",f(3))
输出结果如下:
s1= 4
f(3)= 9
实际上,上面这个程序中的lambda匿名函数相当于下面的程序:
def f(x):
return x*x
过程计算不复杂;
函数只有一个表达式;
临时重复性的任务;
函数的作用域只限于当前模块或文件;
用于map(),filter()及reduce()函数的参数。
map()函数使用一个函数和可迭代对象作为参数,并对可迭代对象的每个元素调用指定的函数来更新迭代序列。
lst = [1, 2, 3, 4, 5]
res_lst = map(lambda x : x *x, lst)
for e in res_lst:
print(e, end=" ")
输出结果:
1 4 9 16 25
以上讲解了Python中lambda匿名函数的语法及使用情况。lambda匿名函数在作为其它函数的参数时使用起来非常方便,在一次性使用场景中非常有用。
新闻热点
疑难解答