代码点读机 / Python / enumerate

enumerate Python · 内置函数

`enumerate` 在遍历可迭代对象时,同时给出索引和值。就像体育老师排队点名的时候让学生报数,然后他就知道排第几位的是哪个学生了。不过要注意,在 Python 里,enumerate 默认是从 0 开始报数的

怎么用

enumerate(可迭代对象)
enumerate(可迭代对象, 起始索引)   # 默认从0开始编号

小例子

水果 = ["苹果", "香蕉", "橙子"]
for 索引, 名称 in enumerate(水果):
    print(f"第{索引}个是{名称}")

运行结果

第0个是苹果
第1个是香蕉
第2个是橙子

对比:手动用 range 获取索引

水果 = ["苹果", "香蕉", "橙子"]
for i in range(len(水果)):
    print(f"第{i}个是{水果[i]}")
用 `enumerate` 更简洁,可读性更好。

常见使用场景

1. 循环时需要知道索引:
学生名单 = ["小明", "小红", "小刚"]
for 序号, 姓名 in enumerate(学生名单, start=1):
    print(f"{序号}. {姓名}")
2. 同时获取元素和位置进行判断:
for i, value in enumerate(列表):
    if value == 目标:
        print(f"找到了,位置是{i}")

提醒:- `enumerate` 返回一个迭代器,每个元素是一个 `(索引, 值)` 的元组。 - 可以指定起始索引,用 `start=1` 让编号从 1 开始。 - 在循环中常用。

官方文档:https://docs.python.org/zh-cn/3/library/functions.html#enumerate

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Python全部词条