enumerate的意思即為枚舉,列舉。
一句話來說,enumerate的作用就是對可疊代的資料進行标号并将其裡面的資料和标号一并列印出來。
看一下enumerate的函數
enumerate(iterable, start=0)
第一個參數為可疊代的資料,比如python中的list。第二個參數為該函數列印标号的初始值,預設從0開始列印,該函數傳回一個enumerate類型的資料。
來看個例子
>>> test= [1,2,3,4,5]
>>> for i,num in enumerate(test):
print("%d-th is %d" %(i,num))
0-th is 1
1-th is 2
2-th is 3
3-th is 4
4-th is 5
顯然,enumerate将list中的資料和資料的位置一并打了出來,其列印出來的是
(0,list[0]),(1,list[1]),...
我們來驗證一下:
>>> list(enumerate(test))
Out[4]: [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)]
我們可以自己自己定義一個,類似與:
def enumerate(sequence, start=0):
n = start
for elem in sequence:
yield n, elem
n += 1