enumerate函式用於遍歷序列中的元素以及它們的下標。
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 over sequence。
程式碼例項:
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'))