enumerate函数的基本用法
Python的enumerate()函数用于在迭代时同时获取可迭代对象的索引和值,避免手动维护计数器。其基本语法如下:
enumerate(iterable, start=0)参数详解
- iterable:必需参数,表示可迭代对象(如列表、元组、字符串、字典的键等)。
- start:可选参数,指定索引起始值(默认为0)。
返回值
返回一个枚举对象(迭代器),每次迭代生成一个元组(index, value),其中:
index:当前元素的索引(从start开始计数)。value:当前元素的值。
基础示例
将列表转换为索引-值对:
fruits = ['apple', 'banana', 'cherry'] for index, value in enumerate(fruits): print(index, value)输出:
0 apple 1 banana 2 cherry自定义起始索引
通过start参数调整索引起始值:
for index, value in enumerate(fruits, start=1): print(index, value)输出:
1 apple 2 banana 3 cherry常见应用场景
1. 遍历列表时修改元素
结合列表推导式或循环修改元素:
squares = [x * x for _, x in enumerate([1, 2, 3])]2. 构建字典映射
将列表转换为字典(索引为键):
dict_fruits = {index: value for index, value in enumerate(fruits)}3. 处理文件行号
读取文件时记录行号:
with open('file.txt') as f: for line_num, line in enumerate(f, start=1): print(f"Line {line_num}: {line.strip()}")注意事项
- 枚举对象是惰性求值的,适合处理大型可迭代对象。
- 不可直接打印枚举对象(需转换为列表查看内容):
print(list(enumerate(fruits))) # 输出:[(0, 'apple'), (1, 'banana'), (2, 'cherry')]