xrange()和range()應(yīng)該是完全一樣的吧,可能運(yùn)行速度不一樣?第二行sum求和里面的List的這種寫(xiě)法怎么解釋???
3 回答

孤獨(dú)的小豬
TA貢獻(xiàn)232條經(jīng)驗(yàn) 獲得超302個(gè)贊
range和xrange這兩個(gè)輸出的結(jié)果都是一樣的,但是range會(huì)直接生成一個(gè)list對(duì)象,而xrange則不會(huì)直接生成一個(gè)list,而是每次調(diào)用返回其中的一個(gè)值。
第二行sum里面的List寫(xiě)法是列表推導(dǎo)式,就是對(duì)L進(jìn)行循環(huán)的結(jié)果,自身進(jìn)行相乘。
[i*i?for?i?in?L]和是下面代碼的簡(jiǎn)化結(jié)果: for?i?in?L: ????return?i?*?i

千載悠悠丶
TA貢獻(xiàn)8條經(jīng)驗(yàn) 獲得超2個(gè)贊
range()直接生成一個(gè)list,xrange()并不立即生成一個(gè)list,二者的功能是一致的。
[i*i for i in L]參見(jiàn)列表生成這一節(jié)http://idcbgp.cn/code/3541
i*i其實(shí)就相當(dāng)于list[]中每一個(gè)元素的表達(dá)式,for i in L則相當(dāng)于i的取值范圍
添加回答
舉報(bào)
0/150
提交
取消