Python2.x中的范圍函數和xrange函數有什么區別?顯然xrange更快,但我不知道它為什么更快(除了目前為止的傳聞之外,沒有證據證明它更快),或者除了這一點之外還有什么不同之處。for i in range(0, 20):for i in xrange(0, 20):
3 回答

嗶嗶one
TA貢獻1854條經驗 獲得超8個贊
Range會創建一個列表,所以如果您這樣做了 range(1, 10000000)
它在內存中創建一個列表 9999999
元素。
xrange
是個發電機,所以 是序列對象。 是 懶惰的評價。
.range()
.xrange()
list(range(1,100))

瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
timeit
$ python -m timeit 'for i in range(1000000):' ' pass'10 loops, best of 3: 90.5 msec per loop $ python -m timeit 'for i in xrange(1000000):' ' pass'10 loops, best of 3: 51.1 msec per loop
.range()
.xrange()
.range()
添加回答
舉報
0/150
提交
取消