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

謝謝你們的閱讀。

相關文章
相關標籤/搜索