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, ...

Python中range和xrange的区别

这两个基本上都是在循环的时候用。 In [1]: for i in range(0,10): ...: print i ...: 0 1 2 3 4 5 6 7 8 9...
  • imzoer
  • imzoer
  • 2013年03月31日 11:00
  • 8623

python os模块进行文件的删除与重命名

阅读Python 标准库中的代码格式不对,运行完成,进行保存。#coding:utf-8 import os import stringdef replace(file, search_for, re...

beanstalkd实现延迟任务

beanstalkd实现延迟任务公司业务中需要用到延迟功能,时间误差要求小,多方调研,最后选择使用beanstalkd。文档将过程记录下来,以便回顾。beanstalkd 初探beanstalkd是一...

Python中Range和XRange的区别

转载:http://www.52harry.com/program/python/2011-11-08/496.html Python中Range和XRange的区别(Difference betw...

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

xrange与range的区别     在for循环中使用xrange与range函数,利用help函数,查的他们的用法如下: range: range(...) range(stop) ->...

Python range() 与xrange()的区别

range(...) range(stop) -> list of integers range(start, stop[, step]) -> list of integers ...

python循环for,range,xrange;while

>>> range(1,5) #代表从1到5(不包含5) [1, 2, 3, 4] >>> range(1,5,2) #代表从1到5,间隔2(不包含5) [1, 3] >>> range(5) #代表...

python 基础2 编码转换 pycharm 配置 运算符 基本数据类型int str list tupple dict for循环 enumerate序列方法 range和xrange

一 大纲 2 运算符 3 基本数据类型   整型:int   字符串:str   列表:list   元组:tuple   字典:dic 4 for e...

python中xrange和range的异同

range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。 range示例: 1.>>...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python range和xrange的区别和联系
举报原因:
原因补充:

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