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好,尤其是返回值较大的时候。