欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中列表遍歷使用range和enumerate的區(qū)別講解

 更新時(shí)間:2022年12月26日 14:40:11   作者:錢(qián)塘江漁夫  
這篇文章主要介紹了Python中列表遍歷使用range和enumerate的區(qū)別,在Python編程語(yǔ)言中,遍歷list有range和enumerate方法,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

前言

兩者的比較只是編程實(shí)現(xiàn)上的差異,請(qǐng)不要絕對(duì)化、教條化。這里只從技術(shù)方面討論。這種區(qū)別非常細(xì),局限于特定場(chǎng)合。

在Python編程語(yǔ)言中,遍歷list有range和enumerate方法,示例:

num_list = [8, 2, 4, 5, 0, -1,7]

for i in range(len(num_list)):
    print(f'i: {i} num_list[i]: {num_list[i]}')
print('-------------------')
for i, num in enumerate(num_list):
    print(f'i: {i} num: {num}')

輸出結(jié)果:

i: 0 num_list[i]: 8
i: 1 num_list[i]: 2
i: 2 num_list[i]: 4
i: 3 num_list[i]: 5
i: 4 num_list[i]: 0
i: 5 num_list[i]: -1
i: 6 num_list[i]: 7
-------------------
i: 0 num: 8
i: 1 num: 2
i: 2 num: 4
i: 3 num: 5
i: 4 num: 0
i: 5 num: -1
i: 6 num: 7

分析 range函數(shù)

Python內(nèi)置的range函數(shù)返回的是一個(gè)整數(shù)序列,一般用于循環(huán)結(jié)構(gòu)中

range語(yǔ)法:range(start, end, step)

  • start:計(jì)數(shù)開(kāi)始位置
  • end:計(jì)數(shù)結(jié)束位置
  • step:步長(zhǎng)(默認(rèn)是1,非必填參數(shù))

range一般適用于迭代一系列整數(shù)

range是通過(guò)遍歷索引取訪問(wèn)list的元素的。

enumerate函數(shù)

Python有一個(gè)內(nèi)置的enumerate函數(shù),它可以解決剛才的問(wèn)題,可以更簡(jiǎn)單。enumerate能夠把任何一種迭代器封裝成惰性生成器
,這樣的話,每次循環(huán)的時(shí)候,它只需要從迭代器里面獲取下一個(gè)值就行了,同時(shí),它還會(huì)給出本輪循環(huán)的序號(hào),即生成器每次產(chǎn)生一對(duì)輸出值

enumerate語(yǔ)法:enumerate(sequence, start)

  • sequence:一個(gè)序列、迭代器或其他支持迭代對(duì)象
  • start:起始位置(默認(rèn)是0,非必填參數(shù))

對(duì)比,永遠(yuǎn)是限定環(huán)境。不區(qū)分前提的對(duì)比毫無(wú)意義。

點(diǎn)擊這里,可以看到有人用千萬(wàn)級(jí)別list測(cè)試的秒級(jí)別的差異。從該對(duì)比可以看出,對(duì)于數(shù)據(jù)量少、執(zhí)行時(shí)間不敏感的場(chǎng)合,二者差異可以忽略不計(jì);對(duì)于數(shù)據(jù)量過(guò)度使用場(chǎng)合,二者有明顯差異。但這個(gè)差異是否被接受,看大家自己的意愿。

總的來(lái)說(shuō):

range通過(guò)索引遍歷元素,屬于間接訪問(wèn)。enumerate直接遍歷元素,效率稍高,代碼簡(jiǎn)潔。range輸出的是元素的索引。enumerate輸出的是元素的索引和元素。 結(jié)論:

建議使用enumerate代替range。注意不是強(qiáng)制,每個(gè)人有自己的習(xí)慣。

核心要點(diǎn):

(1)enumerate函數(shù)提供了一種精簡(jiǎn)的寫(xiě)法,可以在遍歷迭代器時(shí)獲知每個(gè)元素的索引。

(2)盡量用enumerate來(lái)改寫(xiě)那種將range與下標(biāo)訪問(wèn)相結(jié)合的序列遍歷代碼。

(3)可以給enumerate提供第二參數(shù),以指定開(kāi)始計(jì)數(shù)時(shí)所用的值(默認(rèn)為0)

(4)在只需要value的情況下,直接使用in list的效率更高

到此這篇關(guān)于Python中列表遍歷使用range和enumerate的區(qū)別的文章就介紹到這了,更多相關(guān)Python中列表遍歷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python3 搭建Qt5 環(huán)境的方法示例

    Python3 搭建Qt5 環(huán)境的方法示例

    這篇文章主要介紹了Python3 搭建Qt5 環(huán)境的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • pyside寫(xiě)ui界面入門(mén)示例

    pyside寫(xiě)ui界面入門(mén)示例

    PySide 是一個(gè)python綁定的跨平臺(tái)GUI Qt庫(kù)。目前,支持Python的Qt庫(kù)有兩個(gè)PyQt和PySide。下面寫(xiě)一個(gè)簡(jiǎn)單的hello程序?qū)W習(xí)他的使用方法
    2014-01-01
  • GPU版本安裝Pytorch的最新方法步驟

    GPU版本安裝Pytorch的最新方法步驟

    最近深度學(xué)習(xí)需要用GPU版本的pytorch來(lái)加速運(yùn)算,所以下面這篇文章主要給大家介紹了關(guān)于GPU版本安裝Pytorch的最新方法步驟,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Python實(shí)現(xiàn)讀取文件夾按數(shù)字排序功能

    Python實(shí)現(xiàn)讀取文件夾按數(shù)字排序功能

    這篇文章主要介紹了Python讀取文件夾按數(shù)字排序,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • 解決python3中自定義wsgi函數(shù),make_server函數(shù)報(bào)錯(cuò)的問(wèn)題

    解決python3中自定義wsgi函數(shù),make_server函數(shù)報(bào)錯(cuò)的問(wèn)題

    下面小編就為大家分享一篇解決python3中自定義wsgi函數(shù),make_server函數(shù)報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • python ctypes庫(kù)2_指定參數(shù)類型和返回類型詳解

    python ctypes庫(kù)2_指定參數(shù)類型和返回類型詳解

    今天小編就為大家分享一篇python ctypes庫(kù)2_指定參數(shù)類型和返回類型詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • python中進(jìn)程間通信詳細(xì)介紹

    python中進(jìn)程間通信詳細(xì)介紹

    大家好,本篇文章主要講的是python中進(jìn)程間通信詳細(xì)介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Python中Timedelta轉(zhuǎn)換為Int或Float方式

    Python中Timedelta轉(zhuǎn)換為Int或Float方式

    這篇文章主要介紹了Python中Timedelta轉(zhuǎn)換為Int或Float方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Jupyter Notebook 文件默認(rèn)目錄的查看以及更改步驟

    Jupyter Notebook 文件默認(rèn)目錄的查看以及更改步驟

    這篇文章主要介紹了Jupyter Notebook 文件默認(rèn)目錄的查看以及更改步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python中match語(yǔ)句的詳細(xì)用法實(shí)例

    Python中match語(yǔ)句的詳細(xì)用法實(shí)例

    match語(yǔ)句接受一個(gè)表達(dá)式并將其值與作為一個(gè)或多個(gè)?case?塊給出的連續(xù)模式進(jìn)行比較,下面這篇文章主要給大家介紹了關(guān)于Python中match語(yǔ)句的詳細(xì)用法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11

最新評(píng)論