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

 更新时间:2022年06月23日 10:26:01   作者:木盏  
本文主要介绍了Python中的枚举函数enumerate()的具体用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

相比于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

到此这篇关于Python中的枚举函数enumerate()的具体用法的文章就介绍到这了,更多相关Python enumerate内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PyQt5结合QtDesigner实现文本框读写操作

    PyQt5结合QtDesigner实现文本框读写操作

    本文将结合实例代码,介绍PyQt5结合QtDesigner实现文本框读写操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • python cv2.waitKey()函数的使用

    python cv2.waitKey()函数的使用

    这篇文章主要介绍了python cv2.waitKey()函数的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Python实现监控程序执行时间并将其写入日志的方法

    Python实现监控程序执行时间并将其写入日志的方法

    这篇文章主要介绍了Python实现监控程序执行时间并将其写入日志的方法,实例分析了Python日志操作的相关技巧,需要的朋友可以参考下
    2015-06-06
  • Python大批量搜索引擎图像爬虫工具详解

    Python大批量搜索引擎图像爬虫工具详解

    这篇文章主要介绍了Python大批量搜索引擎图像爬虫工具,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • 将TensorFlow的模型网络导出为单个文件的方法

    将TensorFlow的模型网络导出为单个文件的方法

    本篇文章主要介绍了将TensorFlow的网络导出为单个文件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • OpenCV-Python实现图像平滑处理操作

    OpenCV-Python实现图像平滑处理操作

    图像平滑处理的噪声取值主要有6种方法,本文主要介绍了这6种方法的具体使用并配置实例方法,具有一定的参考价值,感兴趣的可以了解一下
    2021-06-06
  • 如何优雅地改进Django中的模板碎片缓存详解

    如何优雅地改进Django中的模板碎片缓存详解

    这篇文章主要给大家介绍了关于如何优雅地改进Django中的模板碎片缓存的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • 关于python中range()的参数问题

    关于python中range()的参数问题

    这篇文章主要介绍了关于python中range()的参数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Python-OpenCV中的cv2.inpaint()函数的使用

    Python-OpenCV中的cv2.inpaint()函数的使用

    大多数人会在家里放一些旧的退化照片,上面有一些黑点,一些笔画等。你有没有想过恢复它?本文就来介绍一下方法,感兴趣的可以了解一下
    2021-06-06
  • 深入了解Django View(视图系统)

    深入了解Django View(视图系统)

    这篇文章主要介绍了简单了解Django View(视图系统),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07

最新评论