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

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

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

前言

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

在Python編程語言中,遍歷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ù)返回的是一個整數(shù)序列,一般用于循環(huán)結(jié)構(gòu)中

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

  • start:計數(shù)開始位置
  • end:計數(shù)結(jié)束位置
  • step:步長(默認是1,非必填參數(shù))

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

range是通過遍歷索引取訪問list的元素的。

enumerate函數(shù)

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

enumerate語法:enumerate(sequence, start)

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

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

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

總的來說:

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

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

核心要點:

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

(2)盡量用enumerate來改寫那種將range與下標訪問相結(jié)合的序列遍歷代碼。

(3)可以給enumerate提供第二參數(shù),以指定開始計數(shù)時所用的值(默認為0)

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

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

相關(guān)文章

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

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

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

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

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

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

    本文主要介紹了Python分割單詞和轉(zhuǎn)換命名法的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(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的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python 的迭代器與zip詳解

    Python 的迭代器與zip詳解

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

    pytorch tensor計算三通道均值方式

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

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

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

    python變量的作用域是什么

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

    django的autoreload機制實現(xiàn)

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

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

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

最新評論

桂林市| 江西省| 开鲁县| 神木县| 永春县| 于都县| 天峨县| 昂仁县| 海伦市| 灌云县| 武陟县| 深圳市| 从化市| 昌图县| 普陀区| 长海县| 韩城市| 屏南县| 峨边| 搜索| 苗栗县| 凭祥市| 饶阳县| 镇巴县| 宁乡县| 黎川县| 洞头县| 布拖县| 登封市| 忻州市| 福贡县| 永川市| 阿尔山市| 房山区| 海林市| 乐业县| 淮南市| 保亭| 项城市| 伊通| 开封县|