python中的Lambda表达式/函数
说明:
在python中,有一个名为Lambda的函数。Lambda函数是一个匿名函数-表示该函数没有任何名称。
当我们声明一个函数时,我们使用“ def”关键字来定义一个具有合适函数名的函数。但是lambda函数不需要。
声明lambda表达式/函数的语法:
lambda parameterlist : expression
哪里,
lambda是定义lambda表达式的保留字。
parameterlist是一个逗号分隔的参数列表,您可以在函数定义中找到(但请注意缺少括号)。
expression是单个Python表达式。该表达式不能是完整的语句。
注意:
此函数可以根据需要使用任意数量的参数,但表达式必须为单个。
您可以随时随地使用lambda函数。
示例1:详细说明简单函数和Lambda函数之间的区别。
# 我们用来定义矩形区域的简单方法:# 演示矩形的Python代码
# 显示def()和lambda()之间的差异。
def area(l,b):
return l*b;
g = lambda l,b: l*b
print('lambda function:',g(7,4))
#调用函数
print('Via Simple function:',area(7,4))
输出结果
lambda function: 28Via Simple function: 28
代码说明:
在这里,两个函数都返回矩形的相同区域,但是在使用def关键字时,我们需要完成函数的所有功能并返回它。但是,与lambda相同,我们只需要提供参数和相应的表达式即可返回答案。由于它不包含任何return语句。我们还可以将lambda定义放在需要函数的任何地方,而我们根本不必将其分配给变量。这就是lambda函数的简单性。
例2:如何使用lambda函数使用不同的形式?
print('Ways to use and declare lambda functions:')# 简单地定义lambda函数
#示例-1
g=lambda x, y: 3*x + y
print('Ex-1:',g(10,2))
#示例-2
f=lambda x, y: print('Ex-2:',x, y)
f(10,2)
#示例-3
h=lambda x, y: 10 if x == y else 2
print('Ex-3:',h(5,5))
#示例-4
i=lambda x, y: 10 if x == y else 2
print('Ex-4:',i(5,3))
输出结果
Ways to use and declare lambda functions:Ex-1: 32
Ex-2: 10 2
Ex-3: 10
Ex-4: 2
lambda函数有filter(),map(),reduce()
lambda()功能可以用类似于其它功能一起使用filter(),map()等等
filter():需要参数列表。该函数过滤掉给定列表中所有返回该函数True的元素。
map(): map() python中的函数,用于通过函数或lambda函数映射列表的所有元素及其条件。
语法:
map(function_object, iterable1, iterable2,...)
实施例3:使用lambda函数的filter(),map(),reduce()
#使用filter(),带有lambda()函数的map()。# Python代码说明
# filter()与lambda()
li = [5, 7, 22, 97, 54, 62, 77, 23, 73, 61]
li = list(filter(lambda x: (x%2 == 0) , li))
print('By using filter :',li)
# Python代码说明
# 带lambda()的map()
# 获得清单的两倍。
l=[{'name':'nhooo', 'star':10},{'name':'yash', 'star':8},{'name':'sanjeev', 'star':8}]
for output1 in (map(lambda x : x['name'],l)):
print('maping name:',output1)
for output2 in (map(lambda x : x['star']*10,l)):
print('maping star:',output2)
输出结果
By using filter : [22, 54, 62]maping name: nhooo
maping name: yash
maping name: sanjeev
maping star: 100
maping star: 80
maping star: 80
以上是 python中的Lambda表达式/函数 的全部内容, 来源链接: utcz.com/z/334556.html