range()和xrange()的区别

今天写一下关于xrange()和range()的区别。html

首先咱们看一段代码:spa

class Ce_shi():htm

  def __init__(self,start,end):blog

    self.start = start索引

    self.end = endget

  def __len__(self):it

    return self.end - self.startclass

  def __getitem__(self,index):方法

    if index < 0 and index > -(self.end):co

      return self.end + index

    elif index >= self.end or index < -(self.end):

      return IndexError

    elif index > 0:

      return self.start + index

这个类实现输出start--end之间的整数,也能够经过输入负索引来获取数字。

经过上面的例子就能够很好的理解range()和xrange()之间的区别了。

range()是一个序列,元素须要空间存储。

xrange()也是序列,可是它的元素不须要空间进行存储,它的实现与上面的Ce_shi类的实现方法相似。

若是进行只读,xrange()要比range()要好,若是须要对列表元素进行操做(增、删),range()更为适合。

 

 

本文参考:https://www.cnblogs.com/shixisheng/p/7089930.html

谢谢你们的阅读。

相关文章
相关标签/搜索