【x * x for x in range(0,10)】//列出生成公式,這裏有括號。
//Results【0,1,4,9,16,25,36,49,64,81】
(x * x for x in range(0,10))//生成器,這裏是括號。
//結果
兩者之間的區別是顯而易見的:
壹個直接返回表達式的結果列表,另壹個是對象,其中包含對表達式結果的計算引用,可以通過循環直接輸出。
g =(x * x表示範圍內的x(0,10))
對於g中的n:
印刷
結果
1
四
九
16
25
36
四十九個
64
81
當表達式的結果數量較少時,最好使用列表生成。壹旦數量級過大,列表生成將占用大量內存。
生成器不會立即將結果寫入內存,但這是壹種保存的計算方法。通過不斷的采集,可以得到相應位置的值,所以占用的內存只是計算對象的存儲。