本文實例講述了python中enumerate函數用法。分享給大家供大家參考。具體分析如下:
今日發現一個新函數 enumerate 。一般情況下對一個列表或數組既要遍歷索引又要遍歷元素時,會這樣寫:
1
2
|
for i in range ( 0 , len ( list )): print i , list [i] |
但是這種方法有些累贅,使用內置enumerrate函數會有更加直接,優美的做法,先看看enumerate的定義:
1
2
3
4
5
6
7
|
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會將數組或列表組成一個索引序列。使我們再獲取索引和索引內容的時候更加方便如下:
1
2
|
for index,text in enumerate ( list )): print index ,text |
在cookbook里介紹,如果你要計算文件的行數,可以這樣寫:
1
|
count = len ( open (thefilepath, 'rU' ).readlines()) |
前面這種方法簡單,但是可能比較慢,當文件比較大時甚至不能工作,下面這種循環讀取的方法更合適些。
1
2
3
4
|
Count = - 1 For count,line in enumerate ( open (thefilepath, 'rU' )): Pass Count + = 1 |
希望本文所述對大家的python程序設計有所幫助。