首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python xrange 与 rang

range可以返回一个可以用于所有目的的普通列表对象,而xrange将返回一个特殊目的的对象,尤其适用于迭代操作,但是xrange并不返回一个迭代器,如果需要这样一个迭代器,可以调用iter(xrange...>>> print range(5) [0, 1, 2, 3, 4] >>> print xrange(5) xrange(5) >>>  其中,range将返回一个普通列表,但是xrange将返回一个特殊目的对象...xrange示例:  >>> xrange(5) xrange(5) >>> list(xrange(5)) [0, 1, 2, 3, 4] >>> xrange(1,5) xrange(1, 5) >...>> list(xrange(1,5)) [1, 2, 3, 4] >>> xrange(0,6,2) xrange(0, 6, 2) >>> list(xrange(0,6,2)) [0, 2, 4]...: xrange(100) 0 1     所以xrange做循环的性能比range好,尤其是返回很大的时候,尽量用xrange吧,除非你是要返回一个列表。

39920
您找到你想要的搜索结果了吗?
是的
没有找到

range与xrange用法对比

,因为xrange的特性,所以它会比较节约内存 因此,xrange的执行效率要高于range 首先,我们来看Python2里range()。...、内置函数(built-in) 2、接受3个参数分别是start, stop和step(其中start和step是可选的,stop是必需的) 3、如果没有指定start,默认从0开始(python...xrange()虽然也是内置函数,但是它被定义成了Python里一种类型(type),这种类型就叫xrange。我们从Python 2的interactive shell里很容易看到这点。...这就是在Python 2里range和xrange的相同点和区别。 range()和xrange() 在Python 2里是两种不同的实现。...但是在Python 3里,range()这种实现被移除了;保留了xrange()的实现,且将xrange()重新命名成range()。

1.5K20

·python·用生成器和迭代器实现自己的xrange

参考链接: Python生成器 ·python·用生成器和迭代器实现自己的xrange  声明:本文由恋花蝶发表于  http://blog.csdn.net/lanphaday,版权所有,欢迎转载。...用过python的朋友一定很熟悉下面这两行代码:  >>> for i in xrange(0,10,1):                print i  上面的两行代码是用一个循环打印0-9这十个数字...首先来介绍一下python的yield语句,Yield这个单词本身有产生、产出的意思,它的语法是:  yield 表达式  关于yield语句,官方manual是这样说的:yield语句仅用以定义生成器函数...把上面的1234条目跟上文python manual的说法对照一下,是相互呼应的,这样我们就理解了xrange的实现机理,从而可以利用yield语句写出自己的xrange了。        ...对于迭代器,python manual的说法是这样的:python支持一种超越容器的迭代器观念,使得用户定义的类支持迭代。

49520

Python2.x与3​​.x版本区别

xrangePython 2 中 xrange() 创建迭代对象的用法是非常流行的。比如: for 循环或者是列表/集合/字典推导式。 这个表现十分像生成器(比如。"惰性求值")。...但是这个 xrange-iterable 是无穷的,意味着你可以无限遍历。 由于它的惰性求值,如果你不得仅仅不遍历它一次,xrange() 函数 比 range() 更快(比如 for 循环)。...在 Python 3 中,range() 是像 xrange() 那样实现以至于一个专门的 xrange() 函数都不再存在(在 Python 3 中 xrange() 会抛出命名异常)。...n): for i in xrange(n): pass Python 2 print 'Python', python_version()print '\ntiming...range()' %timeit test_range(n)print '\n\ntiming xrange()' %timeit test_xrange(n)Python 2.7.6timing range

87260

Python代码性能优化

Python使用非常方便、灵活,因此很受欢迎。但正因为如此,导致实现同一功能时,Python代码有很多写法,但不同的写法有不同的性能。因此写Python代码要有良好的习惯,多写高性能的代码。...作者原来平常写Python代码也很随意,直到某天处理大量数据时半天看不到结果,究其原因,是Python代码的性能问题导致的。 1. 列表解析与列表重建 #!...3. range与xrange range python中range会直接生成一个list对象。...xrange 用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器,它的类型为xrange。在生成非常大的数字序列时,xrange不会马上开辟很大的一块内存空间。...结论:本次测试中,xrange比range快一倍多。

1K80

Python2.x 与 3​​.x 版本区别

----xrangePython 2 中 xrange() 创建迭代对象的用法是非常流行的。比如: for 循环或者是列表/集合/字典推导式。这个表现十分像生成器(比如。"惰性求值")。...但是这个 xrange-iterable 是无穷的,意味着你可以无限遍历。由于它的惰性求值,如果你不得仅仅不遍历它一次,xrange() 函数 比 range() 更快(比如 for 循环)。...在 Python 3 中,range() 是像 xrange() 那样实现以至于一个专门的 xrange() 函数都不再存在(在 Python 3 中 xrange() 会抛出命名异常)。...for i in xrange(n): pass Python 2print 'Python', python_version()print '\ntiming range()' %timeit...test_range(n)print '\n\ntiming xrange()' %timeit test_xrange(n)Python 2.7.6timing range()1000 loops,

64320
领券