



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第詳解Python中range()與xrange()的區別目錄前言返回類型記憶操作使用Speed
前言
range()和xrange()是兩個函數,可用于在Python的for循環中迭代一定次數。在Python3中,沒有xrange,但range函數的行為類似于Python2中的xrange。如果要編寫可在Python2和Python3上運行的代碼,則應使用range()。
range()這將返回一個范圍對象(一種可迭代的類型)。xrange()此函數返回生成器對象,該生成器對象只能通過循環來顯示數字。唯一的特定范圍是按需顯示的,因此稱為惰性評估。
兩者都以不同的方式實現,并具有與之相關的不同特征。比較點如下:
返回類型記憶操作使用速度
返回類型
range()返回-范圍對象。
xrange()返回xrange()對象。
#基于返回類型演示range()與xrange()的Python代碼
#用range()初始化a
a=range(1,10000)
#用xrange()初始化a
x=xrange(1,10000)
#測試a的類型
print("Thereturntypeofrange()is:")
print(type(a))
#測試x的類型
print("Thereturntypeofxrange()is:")
print(type(x))
輸出:
Thereturntypeofrange()is:
typelist
Thereturntypeofxrange()is:
typexrange
記憶
與使用xrange()存儲范圍的變量相比,存儲由range()創建的范圍的變量占用更多內存。其基本原因是range()的返回類型是list而xrange()是xrange()對象。
#基于內存演示range()與xrange()的Python代碼
importsys
#用range()初始化a
a=range(1,10000)
#用xrange()初始化a
x=xrange(1,10000)
#測試range()的大小需要更多內存
print("Thesizeallottedusingrange()is:")
print(sys.getsizeof(a))
#測試xxrange()的大小占用更少的內存
print("Thesizeallottedusingxrange()is:")
print(sys.getsizeof(x))
輸出:
Thesizeallottedusingrange()is:
80064
Thesizeallottedusingxrange()is:
40
操作使用
由于range()返回列表,因此可以在列表上應用的所有操作都可以在其上使用。另一方面,由于xrange()返回xrange對象,與list關聯的操作不能應用于它們,因此是不利的。
#根據操作使用情況演示range()與xrange()的Python代碼
#用range()初始化a
a=range(1,6)
#用xrange()初始化a
x=xrange(1,6)
#在range()打印上測試slice操作的使用沒有錯誤
print("Thelistafterslicingusingrangeis:")
print(a[2:5])
#在xrange()上測試切片操作的使用會引發錯誤
print("Thelistafterslicingusingxrangeis:")
print(x[2:5])
錯誤:
Traceback(mostrecentcalllast):
File1f2d94c59aea6aed795b05a19e44474d.py,line18,in
print(x[2:5])
TypeError:sequenceindexmustbeinteger,notslice
輸出:
Thelistafterslicingusingrangeis:
[3,4,5]
Thelistafterslicingusingxrangeis:
Speed
由于xrange()僅評估僅包含惰性評估所需值的生成器對象,因此在實現上比range()更快。
要點:
如果您想編寫可在Python2和Python3上運行的代碼,請使用range(),因為xrange函數在Python3中已棄用。如果多次迭代相同的序列,range()會更快。xrange()每次都必須重建整數對象,但range()將具有真正的整數對象。(然而,它在內存方面的表現總是更差)
range()xrange()返回整數列表。返回一個生成器對象。執行速度較慢執行速度更快。占用更多內存,因為它將整個元素列表保留在內存中。占
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 證券資產投資管理辦法
- 福田外賣區域管理辦法
- 外地項目安全管理辦法
- 科技培訓機構管理辦法
- 育兒護理培訓課件
- 肩頸護理課件教學
- 肝硬化護理課件
- 肝癌的護理課件
- 如何有效培訓課件
- 高考一檢數學試卷
- QCC品管圈活動表格匯編
- 2023年貴州省社區工作者公開招聘考試《公共基礎知識》專項題庫【真題精選+章節題庫+模擬試題】
- 出租車大包車合同
- 銀行副行長個人簡歷表格
- 第四講 堅持以人民為中心PPT習概論2023優化版教學課件
- 麻精藥品培訓課件
- 醫院全員聘用制度和崗位聘任管理制度
- 粗紗機任務與工藝流程
- 探究食育課程對小班幼兒良好飲食習慣形成的作用 論文
- 湖北武漢洪山區招考聘用社區干事235人模擬檢測試卷【共1000題含答案解析】
- 12J4-2 《專用門窗》標準圖集
評論
0/150
提交評論