Python
Python enumerate() 快速笔记
Python enumerate() 快速笔记
作用
遍历可迭代对象时,同时获取:
- 索引(index)
- 元素(value)
基本语法
enumerate(iterable, start=0)参数:
iterable:列表、元组、字符串等可迭代对象start:起始索引,默认0
最常用写法
fruits = ["apple", "banana", "orange"]
for index, fruit in enumerate(fruits):
print(index, fruit)输出:
0 apple
1 banana
2 orange自定义起始索引
for index, fruit in enumerate(fruits, start=1):
print(index, fruit)输出:
1 apple
2 banana
3 orange常用于:
- 排名
- 序号
- 编号展示
本质
list(enumerate(["a", "b", "c"]))结果:
[(0, 'a'), (1, 'b'), (2, 'c')]每个元素实际上是:
(index, value)遍历字符串
for i, char in enumerate("hello"):
print(i, char)输出:
0 h
1 e
2 l
3 l
4 o遍历字典
data = {
"name": "Tom",
"age": 18,
}
for i, (key, value) in enumerate(data.items()):
print(i, key, value)输出:
0 name Tom
1 age 18常见业务场景
给检索结果编号
for i, doc in enumerate(docs, start=1):
print(f"[{i}] {doc}")商品推荐排序
for rank, product in enumerate(products, start=1):
print(f"Top {rank}: {product}")忽略元素
只需要索引:
for i, _ in enumerate(items):
print(i)推荐写法
❌ 不推荐
for i in range(len(items)):
item = items[i]✅ 推荐
for i, item in enumerate(items):
...原因:
- 更简洁
- 可读性更好
- Python 社区标准写法
- 减少索引操作
记忆口诀
for 索引, 元素 in enumerate(列表, start=起始值):
...看到需要同时拿到 下标 + 值,直接想到:
enumerate()