python中的generator函數

Python中的generator函數出現的目的是節省計算機內存空間,其作用是一邊生成,一邊計算,這樣就避免了把所有數組一次生成好并且一次性存入內存的隱患。generator一般被稱為生成器。

  • 普通方式生成列表
list_a = [x*x*x for x in range(3)]
print list_a
[0, 1, 8]
  • 生成器
list_b = (x*x*x for x in range(3))
print list_b
<generator object <genexpr> at 0x10a2229b0>
>>> print list_b.next()
0
>>> print list_b.next()
1
>>> print list_b.next()
8
>>> print list_b.next()
-----------------------------------------------------------
StopIteration Traceback (most recent call last)
<ipython-input-36-c031a72f3d97> in <module>()
----> 1 print list_b.next()

StopIteration: 
  • for循環生成器
list_b = (x*x*x for x in range(3))
print list_b
for i in list_b:
    print i

<generator object <genexpr> at 0x10a222b90>
0
1
8
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容