为什么直接在括号中包含参数的 lambda 不能给我所需的输出?
Why does a lambda incorporated with the argument directly in brackets not give me the desired output?
当我写这篇文章时:
def calculator(operation, n1, n2):
return operation(n1, n2)`
print (calculator(lambda n1, n2: n1 * n2, 10, 20))
我得到了想要的输出 200。
但是当我写这个的时候:
print (lambda n1,n2: n1*n2 (10,20))
我没有得到 200 作为输出。
为什么会这样?
解决方案是将您的 lambda
作业包含在括号 ()
中,如下所示:
print((lambda n1, n2: n1 * n2)(10, 20))
打印:
200
或者,您可以将 lambda
表达式分配给一个变量,然后使用该变量:
l = lambda n1, n2: n1 * n2
print(l(10, 20))
当我写这篇文章时:
def calculator(operation, n1, n2):
return operation(n1, n2)`
print (calculator(lambda n1, n2: n1 * n2, 10, 20))
我得到了想要的输出 200。
但是当我写这个的时候:
print (lambda n1,n2: n1*n2 (10,20))
我没有得到 200 作为输出。
为什么会这样?
解决方案是将您的 lambda
作业包含在括号 ()
中,如下所示:
print((lambda n1, n2: n1 * n2)(10, 20))
打印:
200
或者,您可以将 lambda
表达式分配给一个变量,然后使用该变量:
l = lambda n1, n2: n1 * n2
print(l(10, 20))