一、简介:
    该函数在字面上是枚举、列举的意思,用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,
  同时列出数据和数据下标,一般用在 for 循环当中,可同时得到数据对象的值及对应的索引值。如对于下面的例子:
  
  enumerate参数为可遍历/可迭代的对象(如列表、字符串)
enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate

enumerate()返回的是一个enumerate对象

>>> lst = [1, 2, 3, 4, 10, 5]
>>> enumerate(lst)
<enumerate object at 0x00000000032A3990>
二、 语法:
  enumerate(iterable,start)
  iterable:可迭代对象(列表、元祖、字典、迭代器、字符串等)
  stat:索引序列的起始值 注意:此内置函数常用语for循环

三、enumerate的使用:
例如:已知lst = [1,2,3,4,5,6],要求输出:
0,1
1,2
2,3
3,4
4,5
5,6

>>> lst = [1,2,3,4,5,6]
>>> for index,value in enumerate(lst):
print ('%s,%s' % (index,value)) 0,1
1,2
2,3
3,4
4,5
5,6
#指定索引从1开始
>>> lst = [1,2,3,4,5,6]
>>> for index,value in enumerate(lst,1):
print ('%s,%s' % (index,value)) 1,1
2,2
3,3
4,4
5,5
6,6 #指定索引从3开始
>>> for index,value in enumerate(lst,3):
print ('%s,%s' % (index,value)) 3,1
4,2
5,3
6,4
7,5
8,6

  实例2:

 1 b = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
2 for index,i in enumerate(b,1):
3 print("星期%d:%s"%(index,i))
4
5 # 星期1:Monday
6 # 星期2:Tuesday
7 # 星期3:Wednesday
8 # 星期4:Thursday
9 # 星期5:Friday
10 # 星期6:Saturday
11 # 星期7:Sunday
 

补充:
如果要统计文件的行数,可以这样写:
count = len(open(filepath, 'r').readlines())
这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。

可以利用enumerate():
count = 0
for index, line in enumerate(open(filepath,'r')): 
   count += 1

												

最新文章

  1. 【Hawk】高级教程——post参数采集万方医学网论文
  2. 更新整理本人所有博文中提供的代码与工具(C++,2014.01)
  3. SQL位运算符
  4. 内存屏障(Memory barrier)-- 转发
  5. 获取本机IP非127.0.0.1
  6. wpf随笔
  7. BZOJ 3140 消毒(最小顶点覆盖)
  8. Android 连接tomcat模拟登陆账号
  9. url中去掉index.php,方便redirect()
  10. RabbitMQ分布式消息队列服务器(一、Windows下安装和部署)
  11. nodejs 全局变量和全局对象
  12. 时间转换与星期推算(Matlab版)
  13. Dagger2 使用全解析
  14. C++开发中BYTE类型数组转为对应的字符串
  15. [Swift]LeetCode395. 至少有K个重复字符的最长子串 | Longest Substring with At Least K Repeating Characters
  16. squid代理允许FTP访问设置
  17. IDEA 在使用的过程中字符间距变大的问题
  18. jquery使用FormData提交数据
  19. javascript 之 typeof 与 instanceof
  20. java.lang.ClassCastException: com.liuyang.annocation.UserAction cannot be cast to com.liuyang.annocation2.UserAction at com.liuyang.annocation2.App.test

热门文章

  1. ::before和::after的详细介绍
  2. PHP 常用算法【总结】
  3. SQL element_at函数
  4. IPv6测试环境搭建
  5. ASP.NET-配置Dubug和Release生成不同的Web.config
  6. DELPHI之全局变量和局部变量
  7. STM32 实现内部Flash的读写(HAL库版)
  8. JSP基础--EL表达式
  9. php优化方法
  10. Python 根据入栈顺利判定出栈顺序