Python中的lambda函数:用于创建匿名函数。
Python的lambda函数是一种用于创建匿名函数的函数。它是一种简洁的方式来定义简单的、单行的函数,这些函数可能不需要像普通函数那样定义并命名。
Python的lambda函数定义如下:
lambda 参数列表: 表达式
其中,参数列表是函数的参数;表达式是要执行的代码,函数的结果就是表达式的结果。
下面是一个简单的例子:
# 定义一个lambda函数 f = lambda x: x * 2 # 调用函数 print(f(3)) # 输出 6
上面的代码中,我们定义了一个lambda函数f,它有一个参数x,函数的结果就是x乘以2。然后我们调用这个函数,将3作为参数传递给它,得到6。
lambda函数可以有多个参数:
# 定义一个lambda函数 f = lambda x, y: x + y # 调用函数 print(f(3, 4)) # 输出 7
在上面的代码中,我们定义了一个lambda函数f,它有两个参数x和y,函数的结果就是x加上y。然后我们调用这个函数,将3和4作为参数传递给它,得到7。
lambda函数也可以和其他函数一起使用,比如在map函数中使用:
# 定义一个列表 lst = [1, 2, 3, 4, 5] # 使用map函数和lambda函数 new_lst = list(map(lambda x: x * 2, lst)) # 输出新列表 print(new_lst) # 输出 [2, 4, 6, 8, 10]
在上面的代码中,我们定义了一个列表lst,然后使用map函数和lambda函数将列表中的每个元素都乘以2,得到一个新的列表new_lst。
lambda函数可以像普通函数一样有默认参数和可变参数:
# 定义一个带默认参数的lambda函数 f = lambda x, y=2: x + y print(f(3)) # 输出 5,因为y的默认值是2 print(f(3, 4)) # 输出 7,因为给y传递了一个参数4 # 定义一个带可变参数的lambda函数 f = lambda *args: sum(args) print(f(1, 2, 3)) # 输出 6,因为1+2+3=6
在上面的代码中,我们定义了一个带默认参数的lambda函数f,它有两个参数x和y,y的默认值是2。我们先调用这个函数,只给x传递了一个参数3,得到结果5;然后我们再调用这个函数,给x和y传递了两个参数3和4,得到结果7。
然后我们又定义了一个带可变参数的lambda函数f,它的参数列表是把所有传递进来的参数打包成一个元组args。我们调用这个函数时,传递了三个参数1、2和3,得到结果6。
总之,Python的lambda函数是一种简洁的方式来定义简单的、单行的函数。它可以用于创建匿名函数,更容易编写简单的代码,并且可以和其他函数一起使用。您可以使用它在需要一个函数对象时轻松地创建一个函数。
