Python 考慮用生成器改寫直接返回列表的函式

2021-09-25 14:17:00 字數 783 閱讀 4550

使用生成器的好處是顯而易見的,可以使**更加清晰,同時減小記憶體的消耗,當函式需要返回列表,把函式改寫為生成器是相對容易的。

下面這兩個函式返回字串中每個單詞的索引:

1

defindex_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語句...