Python中文
首页
教程
问答
标签
搜索
登录
注册
使用屈服的递归
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>有没有办法混合递归和<code>yield</code>语句?例如,无限数生成器(使用递归)类似于:</p> <pre><code>def infinity(start): yield start # recursion here ... >>> it = infinity(1) >>> next(it) 1 >>> next(it) 2 </code></pre> <p>我试过:</p> <pre><code>def infinity(start): yield start infinity(start + 1) </code></pre> <p>以及</p> <pre><code>def infinity(start): yield start yield infinity(start + 1) </code></pre> <p>但是他们没有一个做我想做的,第一个在它产生<code>start</code>后停止,第二个产生<code>start</code>,然后是生成器然后停止。</p> <p><strong>注意:</strong>请注意,我知道您可以使用while循环:</p> <pre><code>def infinity(start): while True: yield start start += 1 </code></pre> <p>我只想知道这是否可以递归地完成。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<pre><code>def lprint(a): if isinstance(a, list): for i in a: yield from lprint(i) else: yield a a = [[1, [2, 3], 4], [5, 6, [7, 8, [9]]]] for i in lprint(b): print(i) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么我的神经网络模型的准确性不能在这个训练集上得到提高?
8 回答
为什么我的神经网络模型的权重变化不大?
8 回答
为什么我的神经网络的成本不断增加?
8 回答
为什么我的神经网络的输入pickle文件是19GB?
1 回答
为什么我的神经网络给属性错误?“非类型”对象没有属性“形状”
5 回答
为什么我的神经网络训练这么慢?
4 回答
为什么我的神经网络输出错误?
2 回答
为什么我的神经网络预测适用于MNIST手绘图像时是正确的,而适用于我自己的手绘图像时是不正确的?
3 回答
为什么我的神经网络验证精度比我的训练精度高,而且它们都是常数?
9 回答
为什么我的私人用户间聊天会显示在其他用户的聊天档案中?
10 回答
为什么我的积分的绝对误差估计值大于积分(使用scipy.integrate.nqad)?
8 回答
为什么我的积层回归器得分比它的组件差?
4 回答
为什么我的移动方法不起作用?
5 回答
为什么我的稀疏张量不能转换成张量
9 回答
为什么我的稀疏张量不能转换成张量?
3 回答
为什么我的程序“停止”了?
2 回答
为什么我的程序一直试图占用所有可用的CPU
2 回答
为什么我的程序不使用指定的代理
9 回答
为什么我的程序不工作(python帮助中的反向函数)?
6 回答
为什么我的程序不工作时,我使用多处理模块
8 回答