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

python --enumerate用法

2014-06-02 21:38 405 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: