新接触了一个函数 enumrate ,很多情况下我们想获得可迭代的容器(例如dict、list、tuple等)元素的时候,想同时获得一个序号用以他用。

代码常常写成这个样子

list_a = ["apple", "dell", "hp", "ibm"]
for idx in range(len(list_a)):
print("idx={0}, content={1}".format(idx, list_a[idx]))

如果是dict,那么会写成这样子

dict_a={"a":"apple","b":"banana","o":"orange"}
idx = 0
for it in dict_a:
idx = idx + 1
print("key[{0}]={1},idx={2}".format(it, dict_a[it], idx))

但功能有了,美观较差

这时候enumrate就该出场了。enumrate函数可以同时返回元素和索引号。上面两个例子,可以写成这个样子

list_a = ["apple", "dell", "hp", "ibm"]
for idx,val in enumerate(list_a):
print("idx={0}, content={1}".format(idx, val))

而输出为

idx=0, content=apple
idx=1, content=dell
idx=2, content=hp
idx=3, content=ibm

而dict可以写成这样子

for idx,key in enumerate(dict_a):
print("key[{0}]={1},idx={2}".format(key,dict_a[key],idx))

输出为

key[b]=banana,idx=0
key[o]=orange,idx=1
key[a]=apple,idx=2

另外学习到其他博主的用法

如果要统计文件的行数,可以这样写:

count = len(open(filepath, 'r').readlines())

这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。

可以利用enumerate():

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

  

最新文章

  1. Spring源码分析——BeanFactory体系之抽象类、类分析(一)
  2. iOS开发之多媒体API (转载)
  3. 【bzoj4034】[HAOI2015]树上操作
  4. linux系统各目录存储的文件类型
  5. 【性能诊断】十一、性能问题综合分析(案例2,windbg、wireshark)
  6. VS的一部分快捷键
  7. Python之路Day2
  8. 移植MonkeyRunner的图片对比和获取子图功能的实现-Appium篇
  9. PHP socket模拟POST请求
  10. [转]慎用InputStream的read()方法
  11. mac iterm2安装、sshpass密码记住
  12. 小程序敏感信息解密-java
  13. Understanding Android Security(安卓安全的理解)
  14. SuRF: Practical Range Query Filtering with Fast Succinct Tries 阅读笔记
  15. webstrom左侧项目栏不显示文件夹问题
  16. [administrative][CentOS][NetworkManager] networkmanager (二)
  17. 关于ASP.NET预编译(转自dudu)
  18. 【原】Github+Hexo+NextT搭建个人博客【1】
  19. eclipse+cygwin+cdt搭建c/c++开发环境
  20. laravel数据迁移的时候遇到的字符串长度的问题

热门文章

  1. mybatis之关联(2)
  2. java的属性只能在类里面 方法外面定义
  3. MySQL 5.7 GA 新特性
  4. Berland and the Shortest Paths CodeForces - 1005F(最短路树)
  5. linux下转换windows文件格式为unix sed -i 's/\r//' <filename> 转化为unix格式
  6. MT【188】一个正切余切有关的恒等式
  7. MT【84】夹逼定值
  8. (转)丢掉鼠标吧,使用最好用的eclipse快捷键
  9. Eclipse Neon安装指导
  10. SSM数据库数据导出excel