我有一個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