range和xrange

首先python2中有range函数和xrange函数,python3中只有range函数。
Python2中 range和xrange:
range函数可用来创建一个整数列表,即list。
例如:
>>>range(10) # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11) # 从 1 开始到 11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
xrange用法与range不同,xrange返回的是一个xrange类型,是个生成器。
xrange类型代表序列不可变的数,通常在for循环中被用来进行指定次数的循环。
相对于常规的list,tuple类型,range类型的优点是无论range计算的范围有多大,
每个range对象总是保存着相同的内存,因为每次只会存储start,stop和step值,所以内存也很小。
只有在需要的时候才会去计算.

Python3中没有xrange,只有range,其实Python3中的并不是取消的xrange,而是取消了range。
同时将xrange重新命名为range,python中的range函数返回的一个可迭代对象,是range对象。
函数用法:
range(start, stop[, step])
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
打印range对象的时候使用使用list方法。
>>> list(range(5))
[0, 1, 2, 3, 4]
>>>list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]

##range用于for循环
a = ‘ccd‘
for i in range(len(a)):
    print(a[i])
c
c
d

原文地址:https://www.cnblogs.com/BGPYC/p/8439802.html

时间: 2024-11-06 03:34:00

range和xrange的相关文章

range与xrange

range与xrange的用法是完全相同的,不同的是返回结果不同:range返回的是一个list,而xrange返回的是一个生成器.可以来看下 1 print type(range(5)) 2 3 print type(xrange(5)) 4 5 6 #打印结果:<type 'list'> 7 # <type 'xrange'> 可以看到他们的返回类型是不一样的,一个是list,一个是xrange,也就是说range返回时需要开辟一个内存空间来存储这个list,而xrange是每

【Python那些事儿之十】range()和xrange()

by Harrison Feng in Python 无论是range()还是xrange()都是Python里的内置函数.这个两个内置函数最常用在for循环中.例如: >>> for i in range(5): ... print i ... 0 1 2 3 4 >>> for i in xrange(5): ... print i ... 0 1 2 3 4 >>> range()和xrange() 在Python 2里是两种不同的实现.但是在P

python 中range与xrange的区别

先来看看range与xrange的用法介绍 help(range)Help on built-in function range in module __builtin__: range(...) range(stop) -> list of integers range(start, stop[, step]) -> list of integers Return a list containing an arithmetic progression of integers. range(i

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

range与xrange的比较 range 函数用法: range(stop) range(start,stop[,step]) 函数说明: 这是一个创建包含数列的列表的通用函数.它最常用于for循环.参数必须为普通的整数.如果step参数省略,则默认为1.如果start参数省略,则默认为0.该函数的完整形式返回一个整数列表[start, start + step, start + 2 * step, -].如果step为正,则最后一个元素start + i * step最大且小于stop:如果

[Python]range与xrange用法对比

[整理内容]具体如下: 先来看如下示例:>>>x=xrange(0,8)>>> print xxrange(8)>>>print x[0]0>>>print x[7]7>>>print x[8]Traceback (most recent call last):File "<stdin>", line 1, in <module>IndexError: xrange obj

range和xrange的区别详解

两种用法介绍如下:1.range([start], stop[, step])返回等差数列.构建等差数列,起点是start,终点是stop,但不包含stop,公差是step.start和step是可选项,没给出start时,从0开始:没给出step时,默认公差为1.例如: >>> range(10) #起点是0,终点是10,但是不包括10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(1,10) #起点是1,终点是10,但是不包括10

range()和xrange()的区别

今天写一下关于xrange()和range()的区别. 首先我们看一段代码: class Ce_shi(): def __init__(self,start,end): self.start = start self.end = end def __len__(self): return self.end - self.start def __getitem__(self,index): if index < 0 and index > -(self.end): return self.end

Python的range和xrange

range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. range示例: >>> range(6) [0, 1, 2, 3, 4, 5] >>> range(0,6,2) [0, 2, 4] xrange 函数说明:语法上和range完全相同,所不同的是生成的不是一个数组,而是一个生成器.xrange示例: >>> xrange(6) xrange(6)

range与xrange的区别

一.Python中range()与xrange()有什么区别 range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列 range(6) #[0, 1, 2, 3, 4, 5] range(1,6) #[1, 2, 3, 4, 5] range(1,6,2) #[1, 3, 5] #也就是说range()返回的是个列表 xrange用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器 xrang