enumerate函式用於遍歷序列中的元素以及它們的下標,多用於在for迴圈中得到計數,enumerate引數為可遍歷的變數,如 字串,列表等
一般情況下對一個列表或陣列既要遍歷索引又要遍歷元素時,會這樣寫:
for i in range (0,len(list)): print i ,list[i]
但是這種方法有些累贅,使用內建enumerrate函式會有更加直接,優美的做法,先看看enumerate的定義:
def enumerate(collection): 'Generates an indexed series: (0,coll[0]), (1,coll[1]) ...' i = 0 it = iter(collection) while 1: yield (i, it.next()) i += 1
enumerate會將陣列或列表組成一個索引序列。使我們再獲取索引和索引內容的時候更加方便如下:
for index,text in enumerate(list): print index ,text
程式碼例項1:
i = 0 seq = ['one', 'two', 'three'] for element in seq: print i, seq[i] i += 1
0 one
1 two
2 three
程式碼例項2:
seq = ['one', 'two', 'three'] for i, element in enumerate(seq): print i, seq[i]
0 one
1 two
2 three
程式碼例項3:
for i,j in enumerate('abc'): print i,j
0 a
1 b
2 c