Python Lambda函数
Python Lambda函数
Python Lambda 函数被称为匿名函数,它是在没有名称的情况下定义的。Python 允许我们不以标准方式声明函数,即使用 def 关键字。相反,匿名函数是通过使用λ关键字声明的。但是,Lambda 函数可以接受任意数量的参数,但是它们只能以表达式的形式返回一个值。
匿名函数包含一小段代码。它模拟 C 和 C++的内联函数,但并不完全是内联函数。
下面给出了定义匿名函数的语法。
句法
lambda arguments: expression |
它可以接受任意数量的参数,并且只有一个表达式。当需要函数对象时,它很有用。
考虑以下 lambda 函数的例子。
例 1
# a is an argument and a+10 is an expression which got evaluated and returned. |
输出:
<function <lambda> at 0x0000019E285D16A8> |
在上面的例子中,我们定义了λa:a+10匿名函数,其中 a 是一个参数, a+10 是一个表达式。给定的表达式被求值并返回结果。上述 lambda 函数与普通函数相同。
def x(a): |
例 2
Lambda 函数的多个参数
# a and b are the arguments and a*b is the expression which gets evaluated and returned. |
输出:
mul = 200 |
为什么要用 lambda 函数?当我们在另一个函数中匿名使用 lambda 函数时,在场景中可以更好地描述 lambda 函数的主要作用。在 Python 中,lambda 函数可以用作高阶函数的参数,后者接受其他函数作为参数。考虑以下示例:
例 1:
#the function table(n) prints the table of n |
输出:
Enter the number:10 |
lambda 函数常用 Python 内置函数 filter() 函数和 map() 函数。将 lambda 函数与过滤器一起使用()
Python 内置的 filter()函数接受一个函数和一个列表作为参数。它提供了一种有效的方法来过滤掉序列中的所有元素。它返回新的序列,在该序列中,函数评估为true。考虑下面的例子,我们从给定的列表中过滤出唯一的奇数。
#program to filter out the tuple which contains odd numbers |
输出:
(37, 41, 123, 29) |
使用 lambda 函数和 map()
Python 中的 map()函数接受一个函数和一个列表。它给出了一个新的列表,其中包含了函数为每个项目返回的所有修改过的项目。考虑以下 map() 函数的例子。
#program to filter out the list which contains odd numbers |
输出:
(100, 400, 900, 1600, 2500, 3600) |