python中range()与xrange()区分

来源:互联网 发布:网络广告制作软件 编辑:程序博客网 时间:2024/05/01 06:28

初始时,在一段代码中 看见关于xrange()的循环,便疑惑xrange()与range()函数的区别,于是便运行了下面两段程序,发现 输出结果一样

for i in range(10):    print ifor i in xrange(10):    print i

后来得知,其实range()函数与xrange()函数本质是不一样的,range()函数返回的是一个数组,而xrange()返回的却是一个生成器。因此当我们需要生成很大的数字序列时,使用xrange()则比range()性能优越,因为xrange()函数不需要在初始阶段便需要开辟一块内存空间。
这两个函数基本都是用于循环。

print "---range()----"a=range(10)print aprint type(a)print a[0],a[1]print "---xrange()----"a=xrange(10)print aprint type(a)print a[0],a[1]

输出结果:

Reference:http://ciniao.legu.cc/article.php?id=17

0 0
原创粉丝点击