您的位置:首页 > 编程语言 > Python开发

python --enumerate用法

2014-06-02 21:38 381 查看
python cookbook  
Recipe 2.5. Counting Lines in a File


     今日发现一个新函数
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

   在cookbook里介绍,如果你要计算文件的行数,可以这样写:

count
= len(open(thefilepath,‘rU’).readlines())

前面这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作,下面这种循环读取的方法更合适些。

Count
= -1

For count,line
in enumerate(open(thefilepath,‘rU’)):

    Pass
Count +=
1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: