1. 程式人生 > 程式設計 >python生成器推導式用法簡單示例

python生成器推導式用法簡單示例

本文例項講述了python生成器推導式用法。分享給大家供大家參考,具體如下:

1.生成器推導式是繼列表推導式後的有一中python推導式,他比列表推導式速度更快,佔用的記憶體也更少。

2.使用生成器物件時,可以根據需要將他轉化為列表或者元組,也可以是喲個生成器對像__next__()方法或內建函式next()進行遍歷,其具有惰性求值的特點,進行一次遍歷後便不能再次方位內部元素,即訪問一次立馬清空生成器物件

>>> g = ((i+2)**2 for i in range(10))
>>> list(g)
[4,9,16,25,36,49,64,81,100,121]
>>> list(g)  #便利結束後再次訪問時內部元素已經清空
[]

>>> g = ((i+2)**2 for i in range(10))  #重新建立一個生成器物件
>>> next(g)
4
>>> next(g)
9
>>> g.__next__()
16
>>> g.__next__()
25
>>> g.__next__()
36
>>> next(g)
49
>>> next(g)
64
>>> next(g)
81
>>> next(g)
100
>>> next(g)  #當next的下一個超出生成的範圍時,丟擲異常
121
>>> next(g)
Traceback (most recent call last):
 File "<pyshell#41>",line 1,in <module>
  next(g)
StopIteration

更多關於Python相關內容可檢視本站專題:《Python列表(list)操作技巧總結》、《Python字串操作技巧彙總》、《Python資料結構與演算法教程》、《Python函式使用技巧總結》、《Python入門與進階經典教程》及《Python檔案與目錄操作技巧彙總》

希望本文所述對大家Python程式設計有所幫助。