Python细说 xrange 和 range 的区别

Python版本2.X:

range的返回值是list,这意味着内存将会分布相应的长度的空间给list。

xrange的返回值是一个生成器,有利于节省内存空间。

Python版本3.X:

在3.X版本中,Python对range函数做了优化,并且取消了xrange函数。

3.X版本中,range函数返回的是一个range对象,如下。

  1. 1 >>> print(sys.version)
    2 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 16:02:32) [MSC v.1900 64 bit (AMD64)]
    3 >>> type(range(10))
    4 <class ‘range‘>

原文地址:https://www.cnblogs.com/python666666/p/9813540.html

时间: 2024-10-08 08:37:16

Python细说 xrange 和 range 的区别的相关文章

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

xrange与range的区别

xrange属于类,继承自object. 用法: xrange(stop) -> xrange object xrange(start, stop[, step]) -> xrange object range属于函数,返回list,而xrange返回xrange object.对于循环而言,稍快于range(),内存效率更高. #!/usr/bin/python # -*- coding: UTF-8 -*- n = 10 for c in xrange(n): print c format

python中xrange()和range()函数的区别使用:

1.range()函数: 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. >>> #range()函数不支持0参数 ... >>> range() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: range expect

python中xrange和range(转)

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

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示例:

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中enumerate、xrange、range

enumerate可以给列表自动生成一列,默认从0开始,自动增长1,可以指定默认开始值 list_product = ["thinkpad","macbook","iphone8","robbit"] for key,v in enumerate(list_product,1): print(key,v) range 2.7中的用来获取指定范围内的数1.range(0,1000000),内存中一次创建所有的数据2.xrange

xrange() 与 range() 的对比与总结

一,两个函数的文档: 1,xrange(): xrange(stop) xrange(start, stop[, step]) This function is very similar to range(), but returns an xrange object instead of a list. This is an opaque sequence type which yields the same values as the corresponding list, without

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