python中range函数和xrange函数的区别

来源:互联网 发布:软件注册权登记 编辑:程序博客网 时间:2024/06/08 17:30

Range:

range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。

 

Xrange:

用法与range完全相同,所不同的是生成的不是一个序列,而是一个生成器。


代码示例:

a1 = range(0, 10)a2 = xrange(0, 10)print a1print type(a1)print a1[0],a1[1]print a2print type(a2)print a2[0],a2[1]


输出:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]<type 'list'>0 1xrange(10)<type 'xrange'>0 1

性能测试:

s1 = Timer('i = range(0, 100)','').timeit()s2 = Timer('i = xrange(0, 100)','').timeit()print s1print s2

输出:

4.787580115721.31038162076

xrange做循环的性能比range好,尤其是返回值较大的时候。


0 0
原创粉丝点击