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关键字的匿名函数。