Skip to main content
 首页 » 编程设计

python之python中的常量lambda函数

2025年05月04日9yxwkf

如何在 python 中定义常量 lambda 函数?

我需要它来评估像

这样的表达式
lam (array[1,2,3,4,5]) 

现在我用

lam = lambda t: 1 + t*0  

可以,但是会不会太浪费了?

请您参考如下方法:

如果您只想拥有一个返回相同内容的函数,无论使用什么参数调用它,都可以!您没有任何义务使用您的任何论点。

在 python 中,lambda 是一个没有名称的函数(以及一些其他不相关的限制)

如果您要采用 lambda 表达式并立即将其返回值分配给一个变量,那么您就是在为函数命名。不要那样做,只需定义一个常规函数即可。当您需要将一个函数传递给另一个函数时,您应该使用 lambda,而您要使用的函数很少,甚至不值得命名(比如当它总是返回 1 时)。 Python 有一些这样的“高阶函数”(将其他函数作为参数的函数),map、filter 和 reduce 都在内置的在命名空间中。

#never! 
always_return_one = lambda ignored_argument: 1 
 
#OK: functions with names are def'ed not lambda'd 
def always_return_one(ignored_argument): 
    return 1 
 
#Also OK: pass the lambda to another function as soon as you spell it. 
modified_list = some_highorder_function(lambda ignored: 1, [1, 2, 3, 4, 5]) 

python 中一些最常用的高阶函数有特殊的语法。在上面的例子中,如果函数是 map,您可以像这样使用列表理解:

modified_list = [1 for ignored in [1, 2, 3, 4, 5]] 

读起来更容易,而且始终更快!