Python學習系列之 xrange和range的區別!

  學習Python的時候,我們經常會看到xrange和range,那麼Python中xrange和range有什麼區別?跟着小編來看看吧。

  首先要說明一下,只有在Python2中才有Xrange和range;Python3中沒有xrange,並且Python3中的range和Python2中的range有本質的區別,所以說這裏的區別,主要針對Python2來說一下。

  不同點:

  在py2中,range得到的是一個列表,即

  X=range(0,5)

  Print(type(X))#打印X的類型,結果是list

  Print(X)#結果是[0,1,2,3,4]

  Xrange得到的是一個生成器對象,即

  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的列表,會佔用很大空間;但是如果使用生成器的話,就會節省很大的資源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章