Python range() xrange()

range 前面小节已经说明了,range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列.

xrange用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器.

xrange做循环的性能比range好,尤其是返回很大的时候。尽量用xrange吧,除非你是要返回一个列表.

Python3.x中移除了range(),保留了xrange并且重命名为range().

>>> type(range(1000))
<type ‘list‘>
>>> type(xrange(1000))
<type ‘xrange‘>
>>> from sys import getsizeof
>>> print getsizeof(range(1000))
8064
>>> print getsizeof(xrange(1000))
32
>>>
>>> a=xrange(1000)
>>> print a
xrange(1000)
>>> a=range(5)
>>> print a
[0, 1, 2, 3, 4]
>>>
时间: 2024-10-13 07:02:42

Python range() xrange()的相关文章

python中xrange用法分析

本文实例讲述了python中xrange用法.分享给大家供大家参考.具体如下: 先来看如下示例: >>> x=xrange(0,8) >>> print x xrange(8) >>> print x[0] 0 >>> print x[7] 7 >>> print x[8] Traceback (most recent call last): File "<stdin>", line

python中xrange和yield的用法

相信很多人对xrange和yield都不是很清楚,网上很多文章也是写的云里雾里的,今天我用最简单的例子给大家说下. 说起xrange的时候就一定要提range,其实xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器. >>> xrange(5) xrange(5) >>> list(xrange(5)) [0, 1, 2, 3, 4] >>> xrange(1,5) xrange(1, 5) >>

python range函数(42)

在python中使用最多的除了print函数 就是 for循环 了,那么这里就不得不介绍一下python内置函数range函数! 一.range函数简介 python range函数可创建一个整数列表,一般用在 for 循环中,语法如下: range(start, stop, step) //左开右闭区间: start <= value < stop 参数说明: start: 计数从 start 开始,默认是从0开始,例如:range(5)等价于range(0, 5): stop: 计数到 s

python中xrange和range(转)

说到序列,我们第一想到的是一组有序元素组成的集合.同时,每个元素都有唯一的下标作为索引. 在Python中,有许多内界的序列.包括元组tuple,列表list,字符串str等.上面提到的序列类型(list,tuple,str)有一个共同的特点,就是当序列对象创建时,需要开辟专门的内存空间,保存序列中的所有元素.换句话说,这些序列对象本质上,是一个集合. 例如,下面代码创建了一个序列对象s.在该对象序列创建时,需要开辟内存空间将序列中的3个元素(整数1,2,3)保存下来. s=[1,2,3] 然而

[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

Python细说 xrange 和 range 的区别

Python版本2.X: range的返回值是list,这意味着内存将会分布相应的长度的空间给list. xrange的返回值是一个生成器,有利于节省内存空间. Python版本3.X: 在3.X版本中,Python对range函数做了优化,并且取消了xrange函数. 3.X版本中,range函数返回的是一个range对象,如下. 1 >>> print(sys.version) 2 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 16:02:32)

python range() 和xrange()的区别

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, j) returns [i, i+1, i+2, ..., j

python中xrange和range的区别

这两个基本上都是在循环的时候用. for i in range(0, 100): print i for i in xrange(0, 100): print i 这两个输出的结果都是一样的,实际上有很多不同,range会直接生成一个list对象: a = range(0,100) print type(a) print a #[0,1,2...] print a[0], a[1] 而xrange则不会直接生成一个list,而是每次调用返回其中的一个值 a = xrange(0,100) pri

python中xrange和range的异同

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