lambda里面的lambda

时间:2013-05-31 12:23:45

标签: python lambda

只是为了好奇。几天前发现了Lambdas。我很想知道是否可以做到这样的事情:

(试过解释,但我的尝试似乎都没有效果)

p = lambda x: (lambda x: x%2)/2

没有明确的目的。我刚刚找不到满意的答案。我可能误解了Lambdas。

3 个答案:

答案 0 :(得分:7)

你实际上并没有调用内部lambda

p = lambda x: (lambda x: x%2)(x)/2

但请注意,此示例将始终返回0,因为除以2的余数将为01,并且整数除以{{1}会导致截断2

答案 1 :(得分:7)

您可以使用内部lambda根据外部参数返回另一个函数:

mul = lambda x: (lambda y: y * x)
times4 = mul(4)
print times4(2)

答案 2 :(得分:1)

(lambda x: x%2)是一个函数,将函数除以2没有任何意义。你可能想要调用它并除以它返回的值。