首页
学习
活动
专区
工具
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

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

num -= 1  >>> l = list(simple_xrange(8))  >>>print l  [8, 7, 6, 5, 4, 3, 2, 1]  在上例中我们实现了一个简单的xrange,...但还是看不出这个simple_xrange是怎么执行的,现在我们来看看下面的实验:  >>> it = simple_xrange (8)  >>> it.next()  8  >>> it.next(...的执行过程:  1、    当执行it = simple_xrange(8)时,simple_xrange返回一个生成器,即it成为一个生成器。  ...把上面的1234条目跟上文python manual的说法对照一下,是相互呼应的,这样我们就理解了xrange的实现机理,从而可以利用yield语句写出自己的xrange了。        ...搞了这么久,实现自己的xrange有必要吗?当然是有的,xrange只是产生了一个系列,如果要对这个系列有什么扩展的话,写出来的代码就比较难看了。

49520

朋友去面试Python工程师,又带回来几道基础题,Python面试题No10

print(b, len(b)) # 结果: # hello # hello # 6 # hello # hello 5 第2题:range 和 xrange...xrange的用法与range相同,即xrange([start,] stop[, step])根据start与stop指定的范围以及step设定的步长,它所不同的是xrange并不是生成序列,而是作为一个生成器...两者用法相同,不同的是 range 返回的结果是一个列表,而 xrange 的结果是一个生成器,前者是 直接开辟一块内存空间来保存列表,后者是边循环边使用,只有使用时才会开辟内存空间,所以相对来说,xrange...注意: xrange和range这两个基本是使用在循环的时候。 当需要输出一个列表的时候,就必须要使用range了。 第3题: 4G 内存怎么读取一个 5G 的数据?...break f = get_lines() # 迭代器对象 print(next(f)) print(next(f)) print(next(f)) 方法二 可以通过 linux

69630
领券