您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在python中解析生成器,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
python的五大特點:1.簡單易學(xué),開發(fā)程序時,專注的是解決問題,而不是搞明白語言本身。2.面向?qū)ο螅c其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現(xiàn)面向?qū)ο缶幊獭?.可移植性,Python程序無需修改就可以在各種平臺上運行。4.解釋性,Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。
1、說明
生成器解析其實就是列表解析的擴展,當(dāng)我們明確需要使用小標(biāo)訪問的時候,使用列表解析。而如果只需要對結(jié)果進行迭代的時候,優(yōu)先使用生成器解析。
還有一個場景,就是要對結(jié)果進行緩存的時候,就只能使用列表解析了。不過使用生成器解析的場景確實要比列表解析來的多。
2、實例
python3 中的 range 函數(shù)就是一個典型的生成器,無論給它一個多么大的數(shù),它占用內(nèi)存始終很小。但是下面的代碼會返回一個占用空間很大的列表:
[x ** 2 for x in range(100000)]
當(dāng)我們想讓它返回的結(jié)果也像生成器一樣可以將中括號換成小括號:
>>> (x ** 2 for x in range(100000)) <generator object <genexpr> at 0x7fb246656620>
使用 next 函數(shù)就可以查看里面的每個值,當(dāng)然 for 循環(huán)也可以。
因此將列表解析的中括號變成小括號就是生成器的語法。
關(guān)于怎么在python中解析生成器就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。