[python资料] enumerate 函数介绍和使用说明

[python资料] enumerate 函数介绍和使用说明
最新回答
‖葙対兂訁°

2026-10-21 22:09:02

enumerate()是 Python 的内置函数,用于在遍历可迭代对象时同时获取元素的索引和值。其核心功能是简化需要索引的循环操作,使代码更简洁高效。以下是详细说明:

1. 基本语法enumerate(iterable, start=0)
  • iterable:任何可迭代对象(如列表、字符串、元组等)。
  • start:索引的起始值(默认为0)。
2. 返回值

返回一个枚举对象(迭代器),每个元素是一个元组 (index, value):

  • 第1个元素:索引(从 start 开始)。
  • 第2个元素:对应的值。
3. 基本用法示例1:默认起始索引(0)fruits = ['apple', 'banana', 'cherry']for index, fruit in enumerate(fruits): print(index, fruit)

输出:

0 apple1 banana2 cherry示例2:自定义起始索引for index, fruit in enumerate(fruits, start=1): print(index, fruit)

输出:

1 apple2 banana3 cherry4. 实际应用场景场景1:替代 range(len())

传统写法(不推荐):

for i in range(len(fruits)): print(i, fruits[i])

使用 enumerate() 更简洁高效:

for index, fruit in enumerate(fruits): print(index, fruit)场景2:遍历字符串并定位字符sentence = "Hello world"for pos, char in enumerate(sentence, 1): if char == 'o': print(f"'o' found at position {pos}")

输出:

'o' found at position 5'o' found at position 85. 其他用法转换为列表list(enumerate(fruits))

输出:

[(0, 'apple'), (1, 'banana'), (2, 'cherry')]6. 注意事项
  • 迭代器特性:enumerate() 返回的是迭代器,不是列表,适合处理大型数据(节省内存)。
  • 适用对象:支持所有可迭代对象(如文件对象、生成器等)。
  • 高效性:不会一次性生成所有数据,逐项处理更高效。
7. 总结
  • 核心优势:简化需要索引的循环,代码更 Pythonic。
  • 典型用途:遍历列表/字符串时同时获取索引和值。
  • 对比传统方法:避免 range(len()) 的冗余写法,提升可读性。

通过 enumerate(),可以更优雅地处理需要索引的迭代场景,推荐在循环中优先使用。