Python xrange與range的區別
阿新 • • 發佈:2019-01-07
xrange 與 range
xrange 用法與 range 完全相同,所不同的是生成的不是一個list物件,而是一個生成器。
要生成很大的數字序列的時候,用xrange會比range效能優很多,因為不需要一上來就開闢一塊很大的記憶體空間。
xrange 和 range 這兩個基本上都是在迴圈的時候用。
for i in range(0, 100):
print i
for i in xrange(0, 100):
print i
range會直接生成一個list物件,而xrange則不會直接生成一個list,而是每次呼叫返回其中的一個值.
所以xrange做迴圈的效能比range好,尤其是返回很大的時候。儘量用xrange吧,除非你是要返回一個列表。
python3中的 range
range()是python的內建函式,用於建立整數的列表,可以生成遞增或者遞減的數列。range也是python的內建函式,用於創造xrange物件用於迭代。
在python3中,range()這種實現被移除了,保留了xrange()的實現,且將xrange()重新命名成range()。
在python3中,range object在python裡增加了attributes,’count’,’index’,’start’,’step’,’stop’,且能支援slicing。python3的range()在xrange()的基礎上變的更強大了
參考文獻