python enumerate函數(shù)的使用方法總結(jié)
enumerate函數(shù)用于遍歷序列中的元素以及它們的下標(biāo)。
enumerate函數(shù)說(shuō)明:
enumerate()是python的內(nèi)置函數(shù)
enumerate在字典上是枚舉、列舉的意思
函數(shù)原型:enumerate(sequence, [start=0])
功能:將可循環(huán)序列sequence以start開(kāi)始分別列出序列數(shù)據(jù)和數(shù)據(jù)下標(biāo)
即對(duì)一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串),enumerate會(huì)將該數(shù)據(jù)對(duì)象組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo)。
舉例說(shuō)明:
存在一個(gè)sequence,對(duì)其使用enumerate將會(huì)得到如下結(jié)果:
start sequence[0] start+1 sequence[1] start+2 sequence[2]......
適用版本:
- Python2.3+
- Python2.x
注意:在python2.6以后新增了start參數(shù)
英文解釋:
Return an enumerate object. sequence must be a sequence, an iterator, or some other object which supports iteration. The next() method of the iterator returned by enumerate() returns a tuple containing a count (from start which defaults to 0) and the values obtained from iterating over sequence。
代碼實(shí)例:
enumerate參數(shù)為可遍歷的變量,如 字符串,列表等; 返回值為enumerate類。
import string s = string.ascii_lowercase e = enumerate(s) print s print list(e)
輸出為:
abcdefghij [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g'), (7, 'h'), (8, 'i'), (9, 'j')]
在同時(shí)需要index和value值的時(shí)候可以使用 enumerate。
該實(shí)例中,line 是個(gè) string 包含 0 和 1,要把1都找出來(lái):
def xread_line(line):
return((idx,int(val)) for idx, val in enumerate(line) if val != '0')
print read_line('0001110101')
print list(xread_line('0001110101'))
如果對(duì)一個(gè)列表,既要遍歷索引又要遍歷元素時(shí),首先可以這樣寫(xiě):
list1 = ["這", "是", "一個(gè)", "測(cè)試"] for i in range (len(list1)): print i ,list1[i]
上述方法有些累贅,利用enumerate()會(huì)更加直接和優(yōu)美:
list1 = ["這", "是", "一個(gè)", "測(cè)試"] for index, item in enumerate(list1): print index, item >>> 0 這 1 是 2 一個(gè) 3 測(cè)試
enumerate還可以接收第二個(gè)參數(shù),用于指定索引起始值,如:
list1 = ["這", "是", "一個(gè)", "測(cè)試"] for index, item in enumerate(list1, 1): print index, item >>> 1 這 2 是 3 一個(gè) 4 測(cè)試
補(bǔ)充
如果要統(tǒng)計(jì)文件的行數(shù),可以這樣寫(xiě):
count = len(open(filepath, 'r').readlines())
這種方法簡(jiǎn)單,但是可能比較慢,當(dāng)文件比較大時(shí)甚至不能工作。
可以利用enumerate():
count = 0 for index, line in enumerate(open(filepath,'r')): count += 1
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python enumerate遍歷數(shù)組示例應(yīng)用
- python中enumerate的用法實(shí)例解析
- Python中的枚舉函數(shù)enumerate()的具體用法
- python中使用enumerate函數(shù)遍歷元素實(shí)例
- python進(jìn)階教程之循環(huán)相關(guān)函數(shù)range、enumerate、zip
- Python中的enumerate函數(shù)使用方法詳解
- python中enumerate函數(shù)用法實(shí)例分析
- python?使用enumerate()函數(shù)詳解
- python之enumerate用法小結(jié)
相關(guān)文章
Python開(kāi)發(fā)加薪利器之Docker的使用實(shí)踐
docker利用容器技術(shù),獨(dú)立運(yùn)行一個(gè)或者一組應(yīng)用,docker是基于go語(yǔ)言開(kāi)發(fā),docker鏡像好比是一個(gè)模版,可以通過(guò)這個(gè)模版來(lái)創(chuàng)建容器服務(wù),今天通過(guò)本文給大家分享Docker的使用實(shí)踐,感興趣的朋友跟隨小編一起看看吧2021-05-05
Pydantic中model_validator的實(shí)現(xiàn)
本文主要介紹了Pydantic中model_validator的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
Python?實(shí)現(xiàn)一個(gè)全連接的神經(jīng)網(wǎng)絡(luò)
這篇文章主要介紹了Python?實(shí)現(xiàn)一個(gè)全連接的神經(jīng)網(wǎng)絡(luò),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06
python3.7通過(guò)thrift操作hbase的示例代碼
HBase是一個(gè)分布式的、面向列的開(kāi)源數(shù)據(jù)庫(kù),其是Apache的Hadoop項(xiàng)目的子項(xiàng)目。這篇文章主要介紹了python3.7通過(guò)thrift操作hbase的示例代碼,需要的朋友可以參考下2020-01-01
Python中循環(huán)引用(import)失敗的解決方法
在python中常常會(huì)遇到循環(huán)import即circular import的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于Python中循環(huán)引用(import)失敗的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04
mac安裝python3后使用pip和pip3的區(qū)別說(shuō)明
這篇文章主要介紹了mac安裝python3后使用pip和pip3的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09

