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的列表,會佔用很大空間;但是如果使用生成器的話,就會節省很大的資源。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2755558/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python中range和xrange的區別Python
- 技術原理:Python中range和xrange對比Python
- Python學習之Pandas和Numpy的區別!Python
- Python學習之Django和其他Python框架有什麼區別?PythonDjango框架
- Python學習之Django和Flask框架有什麼區別?PythonDjangoFlask框架
- python學習之isinstance與type的區別Python
- Python中列表遍歷使用range和enumerate的區別Python
- Python陣列和列表的區別?Python學習教程Python陣列
- 菜鳥學Python之 _, __ 和 __xx__的區別Python
- Python之“==”和“is”區別Python
- Python中tuple和list的區別?Python基礎學習!Python
- 機械學習和深度學習的區別深度學習
- 沙師弟學Python之 _, __ 和 __xx__的區別Python
- 機器學習和深度學習的區別機器學習深度學習
- Python學習系列之七大資料型別Python大資料資料型別
- cookie和session有什麼區別?Python學習!CookieSessionPython
- 字典和json的區別是什麼?Python學習JSONPython
- range與enumerate的區別
- Python2和Python3的區別?Python入門學習Python
- Python教程系列之Flask框架的學習PythonFlask框架
- Python range與enumerate函式區別解析Python函式
- Python學習教程_Python語言中=和==有什麼區別?Python
- cookie和session有什麼區別?Python學習分享CookieSessionPython
- anaconda和pycharm區別是什麼?Python學習!PyCharmPython
- Nginx 學習系列(三) ------------- alias、root指令區別Nginx
- java複習之HashMap和Hashtable的區別JavaHashMap
- Linux學習之CentOS和Ubuntu有什麼區別?LinuxCentOSUbuntu
- Linux學習之Vi和Vim區別是什麼?Linux
- jupyter和pycharm區別是什麼?Python學習班PyCharmPython
- Django和Flask框架有什麼區別?Python學習分享DjangoFlask框架Python
- python中機器學習和深度學習的區別究竟是什麼?Python機器學習深度學習
- oracle index unique scan/index range scan和mysql range/const/ref/eq_ref的區別OracleIndexMySql
- this和super的區別和應用 學習筆記筆記
- Python學習系列之學Python需要什麼軟體?Python
- Python學習之資料型別Python資料型別
- python學習之變數型別Python變數型別
- 迭代器和生成器區別是什麼?Python學習!Python
- 深度學習與機器學習之間區別 - javaworld深度學習機器學習Java