要善良,我還在學Python(但是越來越好)。我看過關於發電機的其他文章,並沒有找到我的具體問題的答案。對不起,如果我錯過了。Python中的生成器和列表
所以我寫了一個方法,作爲一個生成器。我可以讓它工作,但不是我想要的。我試圖理解發電機。
如果我寫了以下內容:
def genfunc(self):
"""
self.some_lst is defined in __init__ as a list of tuples. e.g [(1,2),(2,3)]
"""
yield (x for x in self.some_lst)
我得到
Line 73: TypeError: '<invalid type>' does not support indexing
但是,如果我把它寫爲:
def genfunc()
"""
self.some_lst is defined in __init__ as a list of tuples. e.g [(1,2),(2,3)]
"""
for x in self.some_lst:
yield x
,一切工作正常。
有兩個問題:1.我基本上對發電機缺少什麼?和2.是否有辦法在我嘗試(但失敗)的時候將它寫在一行中?
我知道有一些SOers只是在等待這個newb出來。提前致謝。
你們搖滾!非常感謝你! – PerryDaPlatypus