Python Lambda

时间:2020-02-23 14:42:52  来源:igfitidea点击:

我们将学习python lambda函数。
python中的关键字" lambda"用于创建匿名函数。
匿名函数是那些未命名的函数。
这意味着您在定义函数时没有该函数的任何名称。

Python Lambda

以下是使用Lambda编写匿名函数的基本语法。

lambda arguments: expression

将以上内容与功能结构进行比较:

def functionName( arguments ):
	statements...
	return something

注意,def被关键字" lambda"替换,然后没有函数名,因为该参数与通常的参数一样。

函数包含一些语句,然后可能返回一些值或者不返回值。
但是使用lambda时,它将包含一个将返回的表达式。

Python Lambda函数

def squareof(x):
 return x*x

p = squareof(5)
print(p)

我们可以将上述函数转换为python lambda函数,如下所示:

f = lambda x: x*x
p = f(5)
print(p)

Python lambda函数将始终返回表达式的输出。
以下是另一个带有两个参数并返回更大的参数的示例。

输出为:

14

Python lambda函数有助于映射或者过滤任何列表。

filter()中的Python lambda函数

如果我想从列表中筛选列表中的值的长度是否为3。
请注意filter()是一个带有两个参数的函数。
一个是函数,第二个是值列表。
以下是它的代码:

weekdays = ['sun', 'mon', 'tues', 'wed', 'thurs', 'fri']
days = filter(lambda day: day if len(day)==3 else '', weekdays)
for d in days:
 print(d)

输出将是:

sun
mon
wed

在第2行中,函数参数是一个匿名函数,该函数从工作日列表中获取参数。
并检查值的长度是否等于3。
如果为3,则返回该值,否则将不返回任何内容。
输出是根据我们想要的。

在map()中使用python lambda函数

我们也可以在map()中使用lambda
map是一个带有两个参数的函数,一个是函数,另一个是列表。
以下代码是一个示例,该示例将所有数字的余数乘以5。

numbers = [ 74, 85, 14, 23, 56, 31,44 ]

remainders = map(lambda num: num%5, numbers)
for i in remainders:
 print(i)

输出将是:

4
0
4
3
1
1
4

因此,您可以使用python lambda关键字创建匿名函数。
对于小函数,lambda很有帮助,如上所示。
Python lambda与python列表理解类似–两者都是减少代码行数的方法。

在将函数作为输入参数的许多其他函数中,可以使用使用lambda关键字的匿名函数。