前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python中enumerate函数使用详解

Python中enumerate函数使用详解

作者头像
程序新视界
发布2023-05-03 10:08:56
1.2K0
发布2023-05-03 10:08:56
举报
文章被收录于专栏:丑胖侠

enumerate是python的内置函数,适用于python2.x和python3.x。该函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,返回一个enumerate对象实例。

简介

enumerate在Python中的用法为:

代码语言:javascript
复制
enumerate(sequence[,startindex=0])

对应函数为:

代码语言:javascript
复制
enumerate(iterable, start=0)

参数iterable为一个可迭代(可遍历)的数据对象实例,start表示索引起始值,返回的是一个enumerate对象。本质上enumerate也是一个可迭代的对象。

可以理解为enumerate自动为可迭代对象每一个元素加了一个索引值,然后返回了一个enumerate对象实例,而这个实例也是一个可迭代对象(可以使用for循环遍历每个元素)。

enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate。

实例

实例一:给数组中的“abcde”添加一个编号:

代码语言:javascript
复制
s = ['a', 'b', 'c', 'd', 'e']
e = enumerate(s)
print(e)
for index, value in e:
    print('%s:%s' % (index, value))

输出结果:

代码语言:javascript
复制
<enumerate object at 0x10e9ae340>
0:a
1:b
2:c
3:d
4:e

实例二:从指定的索引开始。

代码语言:javascript
复制
s = ['a', 'b', 'c', 'd', 'e']
for index, value in enumerate(s, 1):
    print('%s:%s' % (index, value))

输出结果:

代码语言:javascript
复制
1:a
2:b
3:c
4:d
5:e

案例三:统计文本行数。

文本abc.txt内容为:

代码语言:javascript
复制
1213
12abc12
123r
abc12
cd
abc12
defgh

实例代码如下:

代码语言:javascript
复制
with open("./abc.txt", 'r') as f:
    count = 0
    for index, line in enumerate(f):
        count += 1
    print(count)
f.close()

输出结果:

代码语言:javascript
复制
7

案例四:统计文本总行数及abc出现的次数与对应行。

代码语言:javascript
复制
line_no = 0
words = 'abc'
result_line_list = []

with open("./abc.txt", 'r') as f:
    for index, line in enumerate(f):
        if "abc" in line:
            result_line_list.append(index)
        # 文本总行数
        line_no += 1
f.close()

print("文本总行数:%s" % line_no)
print(f"abc在文本中出现的次数为:{len(result_line_list)}次,具体行数为:{result_line_list}")

输出结果:

代码语言:javascript
复制
文本总行数:7
abc在文本中出现的次数为:3次,具体行数为:[1, 3, 5]

其中案例一,也展示了利用enumerate实现解析多个变量的功能,当然也可以实践一下更多层级的参数变量。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
    • 实例
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档