gpt4 book ai didi

python - Lambda,调用自己进入lambda定义

转载 作者:太空宇宙 更新时间:2023-11-03 12:29:46 25 4
gpt4 key购买 nike

我正在用 Python 做一个复杂的 hack,当你混合使用 for+lambda+*args 时,这是一个问题(不要在家里 child 这样做),无聊的细节可以省略,我找到的解决问题的独特解决方案问题是以这种方式将 lambda 对象传递给 self lambda:

for ...
lambda x=x, *y: foo(x, y, <selflambda>)

这可能吗?非常感谢。

最佳答案

您正在寻找 fixed-point combinator ,就像 Z 组合器一样,维基百科为此提供了这个 Python 实现:

Z = lambda f: (lambda x: f(lambda *args: x(x)(*args)))(lambda x: f(lambda *args: x(x)(*args)))

Z 接受一个参数,一个描述您想要的函数的函数,然后构建并返回该函数。

您要构建的函数是:

Z(lambda f: lambda x=x, *y: foo(x, y, f))

关于python - Lambda,调用自己进入lambda定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2023992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com