python enumrate使用

Posted .每天进步一点点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python enumrate使用相关的知识,希望对你有一定的参考价值。

新接触了一个函数 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

  

 






以上是关于python enumrate使用的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 代码片段编写 LaTeX 文档

常用python日期日志获取内容循环的代码片段

Python 向 Postman 请求代码片段

python使用上下文对代码片段进行计时,非装饰器

python常用代码片段总结

13 个非常有用的 Python 代码片段