溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python生成器推導(dǎo)式用法簡單示例

發(fā)布時(shí)間:2020-09-25 20:20:12 來源:腳本之家 閱讀:139 作者:eacxzm 欄目:開發(fā)技術(shù)

本文實(shí)例講述了python生成器推導(dǎo)式用法。分享給大家供大家參考,具體如下:

1.生成器推導(dǎo)式是繼列表推導(dǎo)式后的有一中python推導(dǎo)式,他比列表推導(dǎo)式速度更快,占用的內(nèi)存也更少。

2.使用生成器對象時(shí),可以根據(jù)需要將他轉(zhuǎn)化為列表或者元組,也可以是喲個(gè)生成器對像__next__()方法或內(nèi)置函數(shù)next()進(jìn)行遍歷,其具有惰性求值的特點(diǎn),進(jìn)行一次遍歷后便不能再次方位內(nèi)部元素,即訪問一次立馬清空生成器對象

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

>>> g = ((i+2)**2 for i in range(10))  #重新建立一個(gè)生成器對象
>>> 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)  #當(dāng)next的下一個(gè)超出生成的范圍時(shí),拋出異常
121
>>> next(g)
Traceback (most recent call last):
 File "<pyshell#41>", line 1, in <module>
  next(g)
StopIteration

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python列表(list)操作技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI