7

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

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

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

没有明确的目的。我只是没有找到满意的答案。我可能误解了 Lambda。

4

3 回答 3

11

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

mul = lambda x: (lambda y: y * x)
times4 = mul(4)
print times4(2)
于 2013-05-31T12:27:22.140 回答
7

您实际上并没有调用inner lambda

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

请注意,在 Python 2 中,此示例将始终返回0,因为除以的余数2将是0or1并且将该结果除以整数2将导致 truncated 0

于 2013-05-31T12:25:23.340 回答
1

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

于 2013-05-31T12:26:15.837 回答