欢迎访问宙启技术站
智能推送

Python lambda函数的定义与调用

发布时间:2023-05-30 12:19:01

Python的lambda函数是一种特殊的匿名函数,通常用于简化代码或将函数传递给其他函数。lambda函数可以单行定义,使用关键字lambda,后跟一个或多个参数,后跟一个冒号和一个表达式。

## 定义lambda函数

下面是一个简单的例子,展示如何定义一个lambda函数:

square = lambda x: x*x

在这个例子中,我们定义了一个名为“square”的lambda函数。这个函数只有一个参数“x”,它返回参数“x”的平方。

在lambda函数的定义中,我们使用了关键字“lambda”来标识这是一个lambda函数。然后,我们跟着一个或多个参数,用逗号隔开,例如“x”这个例子中只有一个参数。然后,我们跟着一个冒号“:”,后面跟着一个表达式,这个表达式是我们这个lambda函数的返回值,例如,这里是“x*x”,代表返回“x”的平方。

要使用这个lambda函数,我们可以像调用普通函数一样调用它。例如,我们可以通过以下代码来调用我们定义的lambda函数:

print(square(3))

这里我们调用名为“square”的lambda函数,并将参数值3传递给它,最后打印出该函数的返回值9。

## 调用lambda函数

与普通函数一样,调用lambda函数时需要传递参数。在Python中,我们可以像调用普通函数一样使用lambda函数。例如:

add = lambda x, y: x+y
print(add(3, 5))

在这个例子中,我们定义了一个名为“add”的lambda函数,并将两个参数“x”和“y”相加,并返回结果。然后,我们直接调用这个lambda函数,传递参数值3和5给它,最后打印出该函数的返回值8。

与普通函数一样,lambda函数也可以作为参数传递给其他函数。例如,我们可以使用内置函数map()来应用我们定义的lambda函数:

numbers = [1, 2, 3, 4, 5]
squares = map(lambda x: x*x, numbers)
print(list(squares))

在这个例子中,我们定义了一个名为“squares”的lambda函数,并将任何数字的平方作为返回值。然后,我们将这个lambda函数作为参数传递给内置函数map(),map()函数将其应用于列表中的每个元素,并返回一个新的列表。在这里,我们将整数列表[1, 2, 3, 4, 5]传递给map(),获取每个元素的平方,并将将结果打印出来。