最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2022年12月26日 14:40:11   作者:錢塘江漁夫  
這篇文章主要介紹了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)的寫法,可以在遍歷迭代器時(shí)獲知每個(gè)元素的索引。

(2)盡量用enumerate來(lái)改寫那種將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)文章

  • python、java等哪一門編程語(yǔ)言適合人工智能?

    python、java等哪一門編程語(yǔ)言適合人工智能?

    哪一門編程語(yǔ)言適合人工智能?這篇文章主要為大家詳細(xì)介紹了python編程語(yǔ)言適合人工智能的原因、優(yōu)點(diǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Python基于ssh遠(yuǎn)程連接Mysql數(shù)據(jù)庫(kù)操作

    Python基于ssh遠(yuǎn)程連接Mysql數(shù)據(jù)庫(kù)操作

    這篇文章主要為大家介紹了Python基于ssh遠(yuǎn)程連接Mysql數(shù)據(jù)庫(kù)操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python分割單詞和轉(zhuǎn)換命名法的實(shí)現(xiàn)

    Python分割單詞和轉(zhuǎn)換命名法的實(shí)現(xiàn)

    本文主要介紹了Python分割單詞和轉(zhuǎn)換命名法的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • pandas.DataFrame.to_json按行轉(zhuǎn)json的方法

    pandas.DataFrame.to_json按行轉(zhuǎn)json的方法

    今天小編就為大家分享一篇pandas.DataFrame.to_json按行轉(zhuǎn)json的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python 的迭代器與zip詳解

    Python 的迭代器與zip詳解

    本篇文章主要介紹Python 的迭代器與zip,可迭代對(duì)象的相關(guān)概念,有需要的小伙伴可以參考下,希望能夠給你帶來(lái)幫助
    2021-11-11
  • pytorch tensor計(jì)算三通道均值方式

    pytorch tensor計(jì)算三通道均值方式

    這篇文章主要介紹了pytorch tensor計(jì)算三通道均值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python循環(huán)一行的寫法分享

    Python循環(huán)一行的寫法分享

    這篇文章主要介紹了Python循環(huán)一行的寫法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • python變量的作用域是什么

    python變量的作用域是什么

    在本篇內(nèi)容里小編給大家分享了關(guān)于python變量的作用域的實(shí)例及用法,有興趣的朋友們可以學(xué)習(xí)下。
    2020-05-05
  • django的autoreload機(jī)制實(shí)現(xiàn)

    django的autoreload機(jī)制實(shí)現(xiàn)

    這篇文章主要介紹了django的autoreload機(jī)制實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python實(shí)現(xiàn)獲取aws route53域名信息的方法

    python實(shí)現(xiàn)獲取aws route53域名信息的方法

    最近由于工作原因接觸到aws的服務(wù),我需要實(shí)時(shí)獲取所有的域名信息,用于對(duì)其進(jìn)行掃描,因此寫了一個(gè)自動(dòng)化爬取腳本 給需要的人分享,對(duì)python獲取aws route53域名信息相關(guān)知識(shí)感興趣的朋友一起看看吧
    2023-12-12

最新評(píng)論

平乐县| 东兰县| 阳新县| 桂东县| 临清市| 吉林省| SHOW| 彭州市| 温州市| 旬阳县| 嘉兴市| 寻乌县| 太保市| 桦甸市| 广河县| 溧水县| 荆州市| 鄱阳县| 台前县| 安岳县| 乐都县| 和顺县| 车致| 泾阳县| 巧家县| 北辰区| 吴江市| 丰县| 邛崃市| 滦平县| 玉龙| 和田县| 稻城县| 峨山| 青岛市| 肇源县| 宣武区| 浪卡子县| 紫阳县| 承德市| 海林市|