enumerate函數用於遍歷序列中的元素以及它們的下標。
函數原型:enumerate(sequence, [start=0])
功能:將可循環序列sequence以start開始分別列出序列數據和資料下標
即對一個可遍歷的資料物件(如列表、元組或字串),enumerate會將該資料物件組合為索引序列,同時列出資料和資料下標。
有一個sequence,對其使用enumerate將會得到以下結果:
start sequence[0]
start+1 sequence [1]
start+2 sequence[2]......
Python2.3+
Python2.x
注意:在python2.6以後新增了start參數
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 start which defaults to 0) and the values obtained from ience start 錯誤。
enumerate參數為可遍歷的變量,如 字串,列表等;傳回值為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')]
同時需要index和value值的時候可以使用 enumerate。
該實例中,line 是個 string 包含 0 和 1,要把1都找出來:
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'))
以上是python函數之enumerate用法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!