enumerate函数用于遍历序列中的元素以及它们的下标,多用于在for循环中得到计数,enumerate参数为可遍历的变量,如 字符串,列表等
一般情况下对一个列表或数组既要遍历索引又要遍历元素时,会这样写:
@H_403_5@ # @param Python中enumerate函数用法详解 # @author 编程之家 jb51.cc|www.jb51.cc for i in range (0,len(list)): print i,list[i] # End www.jb51.cc
但是这种方法有些累赘,使用内置enumerrate函数会有更加直接,优美的做法,先看看enumerate的定义:
@H_403_5@ # @param Python中enumerate函数用法详解 # @author 编程之家 jb51.cc|www.jb51.cc 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 # End www.jb51.cc
enumerate会将数组或列表组成一个索引序列。使我们再获取索引和索引内容的时候更加方便如下:
@H_403_5@ # @param Python中enumerate函数用法详解 # @author 编程之家 jb51.cc|www.jb51.cc for index,text in enumerate(list): print index,text # End www.jb51.cc
代码实例1:
@H_403_5@ # @param Python中enumerate函数用法详解 # @author 编程之家 jb51.cc|www.jb51.cc i = 0 seq = ['one','two','three'] for element in seq: print i,seq[i] i += 1 # End www.jb51.cc
0 one
1 two
2 three
代码实例2:
@H_403_5@ # @param Python中enumerate函数用法详解 # @author 编程之家 jb51.cc|www.jb51.cc seq = ['one','three'] for i,element in enumerate(seq): print i,seq[i] # End www.jb51.cc
0 one
1 two
2 three
代码实例3:
@H_403_5@ # @param Python中enumerate函数用法详解 # @author 编程之家 jb51.cc|www.jb51.cc for i,j in enumerate('abc'): print i,j # End www.jb51.cc
0 a
1 b
2 c