使用生成器的好處是顯而易見的,可以使**更加清晰,同時減小記憶體的消耗,當函式需要返回列表,把函式改寫為生成器是相對容易的。
下面這兩個函式返回字串中每個單詞的索引:
1defindex_words1(text):
2 result =3if
text:45
for index, letter in
enumerate(text):
6if letter == '':
8return
result910
11def
index_words2(text):
12if
text:
13yield014
for index, letter in
enumerate(text):
15if letter == '':
16yield index+1
1718
19if
__name__ == '
__main__':
20 hhh = '
every dog has its day!
'21 result =index_words1(hhh)
22print('
result1
', result)
23 result =list(index_words2(hhh))
24print('
result2:
', result)
Python 考慮用生成器改寫直接返回列表的函式
使用生成器的好處是顯而易見的,可以使 更加清晰,同時減小記憶體的消耗,當函式需要返回列表,把函式改寫為生成器是相對容易的。下面這兩個函式返回字串中每個單詞的索引 1 defindex words1 text 2 result 3if text 45 for index,letter in enume...
python 生成器作用 Python生成器
生成器介紹 在函式內部包含yield關鍵字,那麼該函式執行的結果是生成器,生成器就是迭代器。生成器的功能 把函式結果做成迭代器 以一種優雅的方式封裝好iter,next 提供了一種自己定義迭代器的方式。使用生成器建立乙個迭代器 def a print a yield 11 使用yield,執行後返回...
python生成器好處 Python生成器筆記
python中三大器有迭代器,生成器,裝飾器,本文主要講述生成器。主要從生成器的概念,本質,以及yield關鍵字的使用執行過程。本質 生成器是一類特殊的迭代器,使用了yield關鍵字的函式不再是函式,而是生成器。使用了yield的函式就是生成器 1.yield關鍵字有兩點作用 1.1 yield語句...