结合实例来理解比较好,网上找了一下这个enumerate用法,自己也记录一下加深印象
看一下相关链接:
链接1:http://www.cnblogs.com/danielStudy/p/6576040.html
链接2:http://blog.csdn.net/churximi/article/details/51648388
- enumerate函数说明:
- 函数原型:enumerate(sequence, [start=0]) #第二个参数为指定索引
- 功能:将可循环序列sequence以start开始分别列出序列数据和数据下标
- 即对一个可遍历的数据对象(如列表、元组或字符串),enumerate会将该数据对象组合为一个索引序列,同时列出数据和数据下标
- 举例说明:
- 存在一个sequence,对其使用enumerate将会得到如下结果:
- start sequence[0]
- start+1 sequence[1]
- start+2 sequence[2]......
- 存在一个sequence,对其使用enumerate将会得到如下结果:
- 具体例子:
1、第一个实例,打印输出索引与value值
1 >>> product = [ 2 ... "Mac pro", 3 ... "iPhone", 4 ... "iWatch" 5 ... ] 6 >>> for index,item in enumerate(product): 7 … print(index,item) 8 >>> 9 10 得到以下结果 11 0 Mac pro 12 1 iPhone 13 2 iWatch
14 也可以使用enumerate函数的第二个参数:
15 >>> for index,item in enumerate(product,1)://第二个参数表示下标开始的位置,取值为1即表示下标从1开始计算,默认从0开始 16 … print(index,item) 17 >>>
18 得到以下结果
19 1 Mac pro
20 2 iPhone
21 3 iWatch
2、第二个实例
#列表 product = ["Mac pro", "iPhone", "iWatch"] for index, item in enumerate(product): print(index, item) #列表 list = [1, 2, 3, 4, 5, 6] list[::-1] for index, item in enumerate(list): print(index, item) #字符串 for i, j in enumerate('abcde'): print(i, j) #数组 for i, j in enumerate(('a', 'b', 'c', 'd', 'e')): print(i, j) #字典 for i, j in enumerate({'a':1, 'b':2}): print(i, j)
3、第三个实例:统计文件的行数
#如果要统计文件的行数,可以这样写: count = len(open(filepath, 'r').readlines()) #这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。 #可以利用enumerate(): count = 0 for index, line in enumerate(open(filepath,'r')): count += 1