我有一个Python生成器,可以调用自己来获得更多的元素。它看起来像这样:Python生成器生成一切从另一个生成器调用
def gen(list):
# ...
if list:
for x in gen(list[1:]):
yield x
我的问题是关于最后两行:有没有表达这种更简洁的方式?我希望这样的事情(理解这一点是不是有效的Python原样):
def gen(list):
# ...
if list:
yield each in gen(list[1:])
我不太明白这应该做什么,我原本以为这只是一个将列表转换为发生器的简单方法,但我错了。你能开导我吗? – Davy8 2011-06-06 20:45:16
纠正我,如果我错了,但该代码看起来像它总是会返回一个空列表。我认为评论中必须有其他收益率? – Dunes 2011-06-06 21:25:11
@Dunes:是的,评论中还有其他收益率。 – 2011-06-07 01:27:16