日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python3生成器_Python3 生成器

發布時間:2024/9/3 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3生成器_Python3 生成器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python3 生成器

閱讀 (125) |

發布于 2020-05-19 14:29:25

在Python中,一邊循環一邊計算出元素的機制,稱為生成器:generator。

生成器的優點:一次返回一個結果,延遲計算。這對于大數據量處理,是個非常有用的優勢。占用內存量是工程師必須考慮的一個問題。

提高代碼可讀性。使用生成器,代碼行數更少。

生成器有兩種表示形式:生成器函數:外表看上去像是一個函數,但是沒有用return語句一次性的返回整個結果對象列表,使用yield語句一次返回一個結果。

生成器推導式:類似列表推導式,將方括號換成了圓括號,返回按需產生的一個結果對象,而不是構建一個結果列表。

1. 生成器函數:

那么究竟什么是生成器呢?下面舉個栗子:def test():

print('start') #循環之前的語句只有在第一次調用時會被執行。

for i in range(1,10):

yield I #遇到 yield 關鍵字暫停,保存當前所有的運行信息,返回yield的值。

j = i+1 #下一次調用,從 yield 下一行開始執行。

print('第', j, "次調用")

a = test() #此時 a 就是一個生成器。可以用來迭代。

print(next(a))

print(next(a))

print(next(a))

################

執行結果如下:

start

1

第 2 次調用

2

第 3 次調用

不過一般大部分時候,我們會使用for循環來迭代它。for i in a:

print(i)

2. 生成器推導式:

用生成器推導式來寫剛才的例子,就簡單多了。g = (x for x in range(1,10))

我們也來用 for 循環執行一下:for i in g:

print(i)

總結

以上是生活随笔為你收集整理的python3生成器_Python3 生成器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。