range()是Python的內置函數穴店,用于創(chuàng)建整數的列表,可以生成遞增或者遞減的數列。
xrange也有相同的功能衔憨, 今天來看下它們之間的不同。range 函數說明:range([start,] stop[, step])袄膏,根據start與stop指定的范圍以及step設定的步長践图,生成一個序列。range示例:
range示例圖
xrange 函數說明:用法與range完全相同沉馆,所不同的是生成的不是一個數組码党,而是一個生成器。
特別提醒: xrange函數在Python3中已經取消斥黑,在python3中揖盘,range()這種實現被移除了,保留了xrange()的實現锌奴,且將xrange()重新命名成range()扣讼。所以Python3不能使用xrange,只能使用rangexrange示例:
xrange示例圖
由上面的示例可以知道:要生成很大的數字序列的時候缨叫,用xrange會比range性能優(yōu)很多椭符,因為不需要預先開辟一塊很大的內存空間,這兩個基本上都是在循環(huán)的時候用:
for????i????in????range(0,?100):
????print????i
for????i????in????xrange(0,?100):
????print????i
這兩個輸出的結果都是一樣的耻姥,實際上有很多不同销钝,range會直接生成一個list對象:
range
而xrange則不會直接生成一個list,而是每次調用返回其中的一個值:
xrange