新聞中心
enumerate()----如何在for循環(huán)同時(shí)取出索引與值
enumerate() 函數(shù)用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)當(dāng)中。
10年的靈璧網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整靈璧建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“靈璧網(wǎng)站設(shè)計(jì)”,“靈璧網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
以下是 enumerate() 方法的語(yǔ)法:
enumerate(sequence, [start=0])
sequence -- 一個(gè)序列、迭代器或其他支持迭代對(duì)象。
start -- 下標(biāo)起始位置。
返回 enumerate(枚舉) 對(duì)象。
以下展示了使用 enumerate() 方法的實(shí)例:
普通的for循環(huán):
for 循環(huán)使用 enumerate():
如果要統(tǒng)計(jì)文件的行數(shù),可以這樣寫:
這種方法簡(jiǎn)單,但是可能比較慢,當(dāng)文件比較大時(shí)甚至不能工作。
可以利用enumerate():
[1] Python3 enumerate() 函數(shù)
[2] python enumerate用法總結(jié)-竹聿Simon
大家如若有興趣,歡迎朋友,可以加交流群:692-858-412一起學(xué)習(xí)
python enumerate跟直接in有什么區(qū)別
兩個(gè)區(qū)別很明顯:
def?enumerate(sequence,?start=0):
n?=?start
for?elem?in?sequence:
yield?n,?elem
n?+=?1
首先看enumerate返回的是個(gè)iterator
in的話參考文檔:(下面摘錄)
(翻譯)
對(duì)于定義了__contains__()方法的用戶自定義類,x?in?y為真當(dāng)且僅當(dāng)y.__contains__(x)為真。
對(duì)于沒(méi)有定義__contains__()但定義__iter__()的用戶自定義類,x?in?y為真如果某個(gè)值z(mì)在迭代y時(shí)滿足x?==?z。?如果迭代過(guò)程中拋出異常,就好像是in拋出那個(gè)異常一樣。
最后,嘗試舊式的迭代協(xié)議:如果一個(gè)類定義了__getitem__(),x?in?y為真當(dāng)且僅當(dāng)有一個(gè)非負(fù)的整數(shù)索引i使得x?==?y[i], 且更小的索引不會(huì)引發(fā)IndexError異常。(如果引發(fā)了其它異常,則像是in引發(fā)了該異常)。
not?in操作符定義為取與in相反的真值。
Python有x有y如何求該函數(shù)
enumerate(x,y)函數(shù)是把元組tuple、字符串str、列表list里面的元素遍歷和索引組合,其用法與range()函數(shù)很相似,
下面示例enumerate(x,y)用法以及range(x)相似的用法,但是,enumerate(x,y)函數(shù)在遍歷excel等時(shí),可以實(shí)現(xiàn)與人視覺了解到的認(rèn)識(shí)更好的理解。
enumerate(x,y)中參數(shù)y可以省略,省略時(shí),默認(rèn)從0開始,
如示例一:
list_words=["this","is","blog","of","white","mouse"]
for idx,word in enumerate(list_words):
print(idx,word)
打印結(jié)果:
使用range()函數(shù)遍歷實(shí)現(xiàn):
list_words=["this","is","blog","of","white","mouse"]
for? i in range(len(list_words)):
print(i,list_words[i])
打印結(jié)果:
自定義開始索引號(hào):
示例二:
list_words=["this","is","blog","of","white","mouse"]
for idx,word in enumerate(list_words[1:],2):#也可以寫成for idx,word in enumerate(list_words,start=2):
print(idx,word)
打印結(jié)果:
從上面示例中可以看出,enumerate(x,y)中x是需要遍歷的元組tuple、字符串str、列表list,可以和切片組合使用,
y是自定義開始的索引號(hào),根據(jù)自己的需要設(shè)置開始索引號(hào)。
文章名稱:pythonenumerate函數(shù) pythonenumerate函數(shù)的作用
網(wǎng)站鏈接:http://fisionsoft.com.cn/article/hgcgse.html