一个lambda函数可以在Python中递归调用它自己吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (427)

常规函数可以在其定义中包含对自身的调用。 但是一个lambda函数可以在Python中递归调用它自己吗?

提问于
用户回答回答于

我能想到的唯一办法就是给这个函数一个名字:

fact = lambda x: 1 if x == 0 else x * fact(x-1)

或者,对于较早版本的python:

fact = lambda x: x == 0 and 1 or x * fact(x-1)
用户回答回答于

如果没有还原,则映射,命名为lambdas或python内部组件:

(lambda a:lambda v:a(a,v))(lambda s,x:1 if x==0 else x*s(s,x-1))(10)

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励