本文实例讲述了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程序设计有所帮助。