Python3如何使用range函數(shù)替代xrange函數(shù)
在 Python 2 中 xrange() 創(chuàng)建迭代對象的用法是非常流行的。比如: for 循環(huán)或者是列表/集合/字典推導(dǎo)式。這個(gè)表現(xiàn)十分像生成器(比如。"惰性求值")。但是這個(gè) xrange-iterable 是無窮的,意味著你可以無限遍歷。由于它的惰性求值,如果你不得僅僅不遍歷它一次,xrange() 函數(shù) 比 range() 更快(比如 for 循環(huán))。盡管如此,對比迭代一次,不建議你重復(fù)迭代多次,因?yàn)樯善髅看味紡念^開始。
在 Python 3 中,range() 是像 xrange() 那樣實(shí)現(xiàn)以至于一個(gè)專門的 xrange() 函數(shù)都不再存在(在 Python 3 中 xrange() 會拋出命名異常)。
解決方法
上面講的原因比較官方,可能很多人不是理解,通俗點(diǎn)講就是:
因?yàn)?python3 中取消了 range 函數(shù),而把 xrange 函數(shù)重命名為 range,所以現(xiàn)在直接用 range 函數(shù)即可。
因此,在python3版本中,我們只需要直接用range 函數(shù)就可以了!而且從某種意義上來說,xrange() 函數(shù)用法與 range() 完全相同。如下:
range
函數(shù)說明:range([start,] stop[, step]),根據(jù)start與stop指定的范圍以及step設(shè)定的步長,生成一個(gè)列表。
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(2,10)
[2, 3, 4, 5, 6, 7, 8, 9]
>>> range(2,10,2)
[2, 4, 6, 8]
>>> type(_)
<type 'list'>
xrange
函數(shù)說明:和range 的用法完全相同,但是返回的是一個(gè)生成器。
>>> xrange(10)
xrange(10)
>>> xrange(2,10)
xrange(2, 10)
>>> xrange(2,10,2)
xrange(2, 10, 2)
>>> type(_)
<type 'xrange'>
>>> list(xrange(2, 10, 2))
[2, 4, 6, 8]
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python shutil文件操作工具使用實(shí)例分析
這篇文章主要介紹了python shutil文件操作工具使用實(shí)例分析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Python操作MongoDB的教程詳解(插,查,改,排,刪)
MongoDB是一個(gè)基于分布式文件存儲的數(shù)據(jù)庫。是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。本文將詳細(xì)和大家聊聊Python操作MongoDB的方法,需要的可以參考一下2022-09-09Python中的yeild關(guān)鍵字提高代碼執(zhí)行效率場景實(shí)例探究
在Python編程語言中,yeild是一個(gè)非常實(shí)用的關(guān)鍵字,它不僅可以幫助你編寫更加簡潔的代碼,還可以提高代碼的執(zhí)行效率,本文將詳細(xì)介紹yeild在Python中的使用方法,并通過示例代碼進(jìn)行演示,讓我們一起來探索這個(gè)強(qiáng)大的關(guān)鍵字吧2024-01-01如何使用python計(jì)算復(fù)雜三角函數(shù)
當(dāng)涉及到計(jì)算復(fù)雜的三角函數(shù)時(shí),Python 提供了強(qiáng)大的數(shù)學(xué)庫和函數(shù)來幫助我們進(jìn)行計(jì)算,在本篇博客中,我將介紹如何使用 Python 來計(jì)算復(fù)雜的三角函數(shù),需要的朋友可以參考下2023-08-08python 實(shí)現(xiàn)樸素貝葉斯算法的示例
這篇文章主要介紹了python實(shí)現(xiàn)樸素貝葉斯算法的示例,幫助大家更好的理解和學(xué)習(xí)python 機(jī)器學(xué)習(xí)算法,感興趣的朋友可以了解下2020-09-09Python光學(xué)仿真光的偏振編程理解學(xué)習(xí)
這篇文章主要為大家介紹了通過Python光學(xué)仿真來理解光的偏振編程學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10