對于這兩個好像功能都差不多,這兩個經(jīng)常會被搞混,所以今天一定要把這個完全弄清楚。
首先我們看看range: range([start,] stop[, step]),根據(jù)start與stop指定的范圍以及step設(shè)定的步長,生成一個序列。注意這里是生成一個序列。
xrange的用法與range相同,即xrange([start,] stop[, step])根據(jù)start與stop指定的范圍以及step設(shè)定的步長,他所不同的是xrange并不是生成序列,而是作為一個生成器。即他的數(shù)據(jù)生成一個取出一個。
所以相對來說,xrange比range性能優(yōu)化很多,因?yàn)樗恍枰幌伦娱_辟一塊很大的內(nèi)存,特別是數(shù)據(jù)量比較大的時候。
注意:
1、xrange和range這兩個基本是使用在循環(huán)的時候。
2、 當(dāng)需要輸出一個列表的時候,就必須要使用range了。