Aric Zeng

极致的高深即是简单——列奥纳多.达.芬奇

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

结合实例来理解比较好,网上找了一下这个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]......
  • 具体例子:

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

 

posted on 2017-09-26 12:19  一阵风,静!  阅读(11759)  评论(0编辑  收藏  举报