| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
nevz7110
10年前发布

Python range和xrange的区别和联系

来自: http://blog.csdn.net//never_cxb/article/details/49962175


Python range和xrange的区别和联系

一言以蔽之

range产生的是一个列表,而xrange产生的是一个类似迭代器的。

所以对于较大的集合时候,xrange比range性能好。

因为range一次把所以数据都返回,而xrange每次调用返回其中的一个值

代码验证

print  range(1,10)  print  xrange(1,10)  print  list(xrange(1,10))

输出

[1, 2, 3, 4, 5, 6, 7, 8, 9]  xrange(1, 10)  [1, 2, 3, 4, 5, 6, 7, 8, 9]

看下range和xrange的类型信息

print type(range(1,10))  print type(xrange(1,10))

输出

<type 'list'>  <type 'xrange'>

统计程序运行时间

import  time    sum1 = 0  start1 = time.clock()  for i in range(1,1000000):      sum1 += i  end1 = time.clock()  print end1 - start1  print sum1    sum2 = 0  start2 = time.clock()  for i in xrange(1,1000000):       sum2 += i  end2 = time.clock()  print end2 - start2  print sum2

输出

0.292618551173  499999500000  0.249540776676  499999500000

可以看出xrange运行时间要小于range,数据量越大时,两者差别越明显。

老婆大人管钱管得紧,如果文章对您有帮助,烦请支持-=-

支付宝

 本文由用户 nevz7110 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1454998048370.html
Python开发