Python学习系列之 xrange和range的区别!

  学习Python的时候,咱们常常会看到xrange和range,那么Python中xrange和range有什么区别?跟着小编来看看吧。ide

  首先要说明一下,只有在Python2中才有Xrange和range;Python3中没有xrange,而且Python3中的range和Python2中的range有本质的区别,因此说这里的区别,主要针对Python2来讲一下。学习

  不一样点:对象

  在py2中,range获得的是一个列表,即内存

  X=range(0,5)资源

  Print(type(X))#打印X的类型,结果是listit

  Print(X)#结果是[0,1,2,3,4]for循环

  Xrange获得的是一个生成器对象,即class

  X=xrange(0,5)循环

  Print(type(X))#输出类型,结果为一个生成对象遍历

  Print(X)#输出X,结果为xrange(0,5)

  共同点:

  它们的使用都是同样的,好比均可以用for循环遍历全部的值

  Python3中为何只有range呢?这个range其实就是py2中的xrange,而不是range,由于使用生成器能够节约内存。

  好比:代码是for i in range(0,1000),若是使用py2中的range,获得的结果是0到999的列表,会占用很大空间;可是若是使用生成器的话,就会节省很大的资源。

相关文章
相关标签/搜索