【发布时间】:2010-10-03 15:50:37
【问题描述】:
常规函数可以在其定义中包含对自身的调用,这没问题。我不知道如何使用 lambda 函数来做这件事,但原因很简单,lambda 函数没有名称可以引用。有没有办法做到这一点?怎么样?
【问题讨论】:
-
我很想标记这个到底是什么,或者你不想做这个。为什么不直接使用普通函数?
-
我想做的是在树上运行reduce()。 lambda 在 1-D 列表上工作得很好,递归感觉就像是让它在树上工作的自然方式。也就是说,真正的原因是我只是在学习 Python,所以我在踢轮胎。
-
Reduce 与命名函数配合得很好。 Guido 有一段时间想从语言中删除 lambda 表达式。它们幸存了下来,但您仍然没有理由在任何情况下需要使用它们。
-
请不要使用reduce。使用递归函数减少是非常复杂的。这将需要永远。我认为是 O(n**3) 什么的
-
@S.Lott 无赖。这是 Python 解释器的问题还是我还不理解的更基本的问题?
标签: python recursion lambda y-combinator