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的变化:

Python中的枚举函数enumerate()的具体用法

多了一个索引,同时还能读取到元素。这个特性有什么应用呢?看一段代码:

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
  • asp之家 网络编程 m.aspxhome.com