Python中enumerate函式用法詳解

pythontab發表於2016-12-13

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


相關文章