python中range函式和xrange函式的區別
阿新 • • 發佈:2019-01-02
Range:
range([start,] stop[, step]),根據start與stop指定的範圍以及step設定的步長,生成一個序列。
Xrange:
用法與range完全相同,所不同的是生成的不是一個序列,而是一個生成器。
程式碼示例:
a1 = range(0, 10)
a2 = xrange(0, 10)
print a1
print type(a1)
print a1[0],a1[1]
print a2
print type(a2)
print a2[0],a2[1]
輸出:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <type 'list'> 0 1 xrange(10) <type 'xrange'> 0 1
效能測試:
s1 = Timer('i = range(0, 100)','').timeit()
s2 = Timer('i = xrange(0, 100)','').timeit()
print s1
print s2
輸出:
4.78758011572
1.31038162076
xrange做迴圈的效能比range好,尤其是返回值較大的時候。