python中enumerate函数用法实例分析

时间:2022-04-11 00:35:13

本文实例讲述了pythonenumerate函数用法。分享给大家供大家参考。具体分析如下:

今日发现一个新函数 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程序设计有所帮助。