Python 遍历enumerate()
Python中常见的序列主要有列表(list)、元组(tuple)和字符串(string)。关对于序列的遍历,Python推荐的是for…in…sequence语句做成员测试,这个语句其实和for…in…range()一样是按照索引顺序遍历的,但是用in语句的话不能直接使用索引值。
在实际应用中,遍历经常也要用到索引值,比如计数,统计进度等等。用range的话怎么看着都麻烦,其实可以使用enumerate()函数。
enumerate的意思是列举、枚举。
enumerate()函数时Python的内置函数。
原理分析
基本用法
s = [2,5,8,3,6,9]
for i in enumerate(s):
print i
1
2
3
结果为:
(0, 2)
(1, 5)
(2, 8)
(3, 3)
(4, 6)
(5, 9)
按照一般的序列迭代方法,可以看出enumerate()函数的返回值是一个元组,元组构成为(index, value),也就是序列索引和值的元组。
第二可选参数,解决索引从0开始输出的问题
enumerate()有两个参数序列和起始索引。
即enumerate(sequence , index)
s = [2,5,8,3,6,9]
for i in enumerate(s, 1):
print i
结果为:
(1, 2)
(2, 5)
(3, 8)
(4, 3)
(5, 6)
(6, 9)
这样就解决了索引从0开始,而我们习惯从1开始输出的问题。
示例
下面以常见的序列,列表、元组、字符串为例简单说明enumerate()的使用方法。
示例1 列表
s = [2,5,8,3,6,9]
for index, value in enumerate(s):
print index, value
结果为:
0 2
1 5
2 8
3 3
4 6
5 9
示例2 元组
s = (2,5,8,3,6,9)
for index, value in enumerate(s):
print index, value
结果为:
0 2
1 5
2 8
3 3
4 6
5 9
示例3 字符串
s = 'test'
for index, value in enumerate(s):
print index, value
结果为:
0 t
1 e
2 s
转自:
如果只用一种方式了解某样事物,你就不会真正了解它。了解事物真正含义的秘密取决于如何将其与我们所了解的其他事物相联系。通过联系,你可将想法内化于心,从各种角度看问题,直至找到适合自己的方法。这才是思考的真谛!
──马文·明斯基
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通