Python中的枚举函数enumerate()的具体用法
作者:木盏 时间:2022-06-03 13:33:31
相比于range,list等简易单词,enumerate仅凭外形都不太让人愿意用。事实上,enumerate还是很好用的。
enumerate()是python的内置函数、适用于python2.x和python3.x
enumerate在字典上是枚举、列举的意思
enumerate参数为可遍历/可迭代的对象(如列表、字符串)
enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate
enumerate()返回的是一个enumerate对象
python中最常用的数据结构就是list,处理list中每个元素,通常都用for循环搞定。
我们先看,加入了enumerate之后,list的变化:
多了一个索引,同时还能读取到元素。这个特性有什么应用呢?看一段代码:
ls = ['a', 'b', 'c']
# method 1
for i in range(len(ls)):
print(i, end=' ')
print(ls[i])
# method 2
for s in ls:
print(ls.index(s), end=' ')
print(s)
# method 3
for i, s in enumerate(ls):
print(i, end=' ')
print(s)
一看方法3就能更简便地访问到索引i和对应的元素s。
而且,用enumerate会显得代码更加高级~
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
补充:
如果要统计文件的行数,可以这样写:
count = len(open(filepath, 'r').readlines())
这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。
可以利用enumerate():
count = 0
for index, line in enumerate(open(filepath,'r')):
count += 1
来源:https://blog.csdn.net/leviopku/article/details/99947589
标签:Python,enumerate
0
投稿
猜你喜欢
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
2024-05-03 15:53:12
pyqt5简介及安装方法介绍
2022-05-21 15:18:53
IE中jscript/javascript的条件编译
2007-10-03 14:03:00
ASP.NET Core2读写InfluxDB时序数据库的方法教程
2024-01-29 03:55:01
使用python scrapy爬取天气并导出csv文件
2023-02-25 16:16:10
Python pandas RFM模型应用实例详解
2023-10-15 23:27:34
MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的原因分解决办法
2024-01-22 10:02:03
js判断变量是否未定义的代码
2023-08-16 03:43:27
Python爬虫爬取ts碎片视频+验证码登录功能
2023-03-23 01:39:23
Python Django2 model 查询介绍(条件、范围、模糊查询)
2023-11-02 15:32:09
python+JS 实现逆向 SMZDM 的登录加密
2023-09-22 05:38:55
python使用requests模块实现爬取电影天堂最新电影信息
2021-02-21 22:44:44
python lambda函数及三个常用的高阶函数
2022-09-25 16:40:58
调整优化您的LAMP应用程序的5种简单方法
2024-06-05 09:38:57
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2023-02-12 14:02:00
jquery插件bootstrapValidator数据验证详解
2024-04-10 13:53:14
Oracle 存储过程教程
2009-10-24 18:05:00
Python中的装饰器使用
2023-05-25 13:14:09
python画条形图实例
2023-12-04 12:32:33
无组件上传图片到数据库中,asp解决方案
2007-08-03 13:22:00