Python range和xrange的区别和联系

原创 2015年11月21日 09:57:48

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,数据量越大时,两者差别越明显。

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

支付宝

版权声明:转载请注明出处 博客地址 http://blog.csdn.net/never_cxb

[Python] xrange和range的使用区别

range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个列表。 eg:>>> range(10) [0, ...
  • humanking7
  • humanking7
  • 2015年05月24日 12:09
  • 10930

python中range和xrange的区别

range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。 比如: 1 >>> ran...
  • wangyajie_11
  • wangyajie_11
  • 2017年03月29日 10:02
  • 468

Python--xrange()和range()的区别不同

Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32 Type "copyright",...
  • xiaowanggedege
  • xiaowanggedege
  • 2013年12月06日 09:41
  • 1658

函数range()与xrange()的比较

range与xrange的比较range函数用法: range(stop) range(start,stop[,step]) 函数说明: 这是一个创建包含数列的列表的通用函数。它最常用于for...
  • jlqCloud
  • jlqCloud
  • 2015年07月29日 11:24
  • 1112

怎样去使用Python的xrange和range

在Python2.7里面,有两个非常简便的方法去构造列表,或者去用于构造整数循环,这两个函数就是xrange和range,你猜到没? 下面我们就来说说两者的不同之处。...
  • IT_DREAM_ER
  • IT_DREAM_ER
  • 2016年11月04日 20:12
  • 1212

range、xrange 和 randrange 的用法和区别

概括起来,我的理解: 下面是具体介绍:1. range([start], stop[, step]) 返回等差数列。构建等差数列,起点是start,终点是stop,但不包含stop,公差是ste...
  • zhou8201
  • zhou8201
  • 2017年05月26日 06:46
  • 1239

python之range与xrange使用区别

其实之前一直在使用这两个函数,但是至于究竟有什么区别也不是很清楚,因为平时用到的无非就是生成列表循环遍历这样的任务,所以就没有花时间去研究一下这个,今天看到一个题目考的就是二者的区别,索性就停下脚步,...
  • Together_CZ
  • Together_CZ
  • 2017年07月29日 09:53
  • 266

Python中Range和XRange的区别

转载:http://www.52harry.com/program/python/2011-11-08/496.html Python中Range和XRange的区别(Difference betw...
  • aiharry2009
  • aiharry2009
  • 2011年11月29日 21:37
  • 271

Python基础语法笔记--xrange()与range()的区别、map、filter、reduce分析、lambda表达式

xrange与range的区别     在for循环中使用xrange与range函数,利用help函数,查的他们的用法如下: range: range(...) range(stop) ->...
  • Hearthougan
  • Hearthougan
  • 2016年10月13日 12:44
  • 701

Python range() 与xrange()的区别

range(...) range(stop) -> list of integers range(start, stop[, step]) -> list of integers ...
  • vvyuervv
  • vvyuervv
  • 2017年04月25日 16:35
  • 145
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python range和xrange的区别和联系
举报原因:
原因补充:

(最多只允许输入30个字)