使用收益递归

使用收益递归,第1张

使用收益递归

是的,您可以这样做:

def infinity(start):    yield start    for x in infinity(start + 1):        yield x

但是,一旦达到最大递归深度,这将出错。

从Python 3.3开始,您将可以使用

def infinity(start):    yield start    yield from infinity(start + 1)

如果您只是递归地调用生成器函数而不循环或生成

yield from
它,那么您要做的就是构建一个新的生成器,而无需实际运行函数主体或产生任何结果。

有关更多详细信息,请参见PEP 380。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5643754.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存