摘要:列表生成式語法列表生成式這里是中括號結果生成器這里是小括號結果二者的區別很明顯一個直接返回了表達式的結果列表,而另一個是一個對象,該對象包含了對表達式結果的計算引用,通過循環可以直接輸出結果當表達式的結果數量較少的時候,使用列表生成式還好,
列表生成式語法:
[x*x for x in range(0,10)] //列表生成式,這里是中括號 //結果 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] (x*x for x in range(0,10)) //生成器, 這里是小括號 //結果at 0x7f0b072e6140>
二者的區別很明顯:
一個直接返回了表達式的結果列表, 而另一個是一個對象,該對象包含了對表達式結果的計算引用, 通過循環可以直接輸出
g = (x*x for x in range(0,10)) for n in g: print n
結果
0 1 4 9 16 25 36 49 64 81
當表達式的結果數量較少的時候, 使用列表生成式還好, 一旦數量級過大, 那么列表生成式就會占用很大的內存,
而生成器并不是立即把結果寫入內存, 而是保存的一種計算方式, 通過不斷的獲取, 可以獲取到相應的位置的值,所以占用的內存僅僅是對計算對象的保存
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37563.html
摘要:所以如果像上述這樣引入模塊的時候,調用函數必須加上模塊名通常情況下鼓勵每個語句只導入一個包方便理解和閱讀代碼。 今天我們學習Python的高級特性、模塊和IO操作,通過學習這些,我們可以更快的了解Python,使用Python。 高級特性中會講述列表生成式、生成器、和一些高級函數,學習這些方便我們快速的生成列表,節省我們使用Python的時間,更快的使用Python達成我們的目的。 模...
摘要:裝飾器的應用場景比如插入日志,性能測試,事務處理,緩存等等場景。裝飾器完美的遵循了這個開放封閉原則。迭代器迭代器遵循迭代器協議必須擁有方法和方法。直到函數執行結束。調用相關函數用于檢查一個對象是否是可調用的。 裝飾器 裝飾器的含義: 1.裝飾器本質上就是一個python函數,他可以讓其他函數在不需要做任何代碼變動的前提下,增加額外的功能,裝飾器的返回值也是一個函數對象。2.裝飾器的應用...
摘要:本文僅是一個編碼風格的參考,并不是一個規定,規定必須要這么去做。變量類屬性等命令盡量不要使用縮寫形式,除了計數器和迭代器,盡量不要使用單字符名稱。 代碼除了用來運行外,更多的是用來讀。為了是代碼的可讀性更強,很多編程語言都有自己的編碼規范。規范的制定是為了保持代碼的一致性,以使代碼更美觀和易讀。代碼應該怎么樣排版和編寫并不是絕對的,所以一些地方會有爭議。有時風格指南并不適用,最重要的知...
摘要:歡迎關注我的微信公眾號獲取更多更全的學習資源,視頻資料,技術干貨公眾號回復學習,拉你進程序員技術討論群,干貨資源第一時間分享。公眾號回復全棧,領取前端,,產品經理,微信小程序,等資源合集大放送。公眾號回復面試,領取面試實戰學習資源。 序言: 感覺只要是不寫博客,人就很變得很懶,學的知識點感覺還是記不住,漸漸地讓我明白,看的越多,懂的越少(你這話不是有毛病嗎?應該是看的越多,懂的越多才...
閱讀 2852·2021-09-28 09:36
閱讀 3949·2021-09-22 15:52
閱讀 3634·2021-09-06 15:00
閱讀 1954·2021-09-02 15:40
閱讀 2803·2021-09-02 15:15
閱讀 3467·2021-08-17 10:15
閱讀 2784·2019-08-30 15:53
閱讀 2077·2019-08-29 18:39