您好,登錄后才能下訂單哦!
本文實(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ì)有所幫助。
免責(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)容。