enumerate() 函数用法示例

enumerate() 是 Python 中一个实用的内置函数,用于在遍历可迭代对象(如列表、元组、字符串等)时,同时获取元素的索引和值。以下是详细的用法示例和场景说明:


基础语法

enumerate(iterable, start=0)
  • iterable: 必须是一个可迭代对象(如列表、字符串等)。
  • start(可选): 指定索引的起始值,默认为 0

示例 1:遍历列表

fruits = ["apple", "banana", "cherry"]
for index, value in enumerate(fruits):
    print(f"索引 {index} 对应的水果是 {value}")

输出

索引 0 对应的水果是 apple
索引 1 对应的水果是 banana
索引 2 对应的水果是 cherry

示例 2:设置起始索引

for index, value in enumerate(fruits, start=1):
    print(f"第 {index} 个水果是 {value}")

输出

第 1 个水果是 apple
第 2 个水果是 banana
第 3 个水果是 cherry

示例 3:遍历字符串

text = "hello"
for idx, char in enumerate(text):
    print(f"字符 '{char}' 的位置是 {idx}")

输出

字符 'h' 的位置是 0
字符 'e' 的位置是 1
字符 'l' 的位置是 2
字符 'l' 的位置是 3
字符 'o' 的位置是 4

示例 4:处理多维列表

结合嵌套循环,遍历二维列表并打印行号和列号:

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row_idx, row in enumerate(matrix):
    for col_idx, value in enumerate(row):
        print(f"行 {row_idx}, 列 {col_idx} 的值是 {value}")

输出

行 0, 列 0 的值是 1
行 0, 列 1 的值是 2
行 0, 列 2 的值是 3
行 1, 列 0 的值是 4
行 1, 列 1 的值是 5
行 1, 列 2 的值是 6
行 2, 列 0 的值是 7
行 2, 列 1 的值是 8
行 2, 列 2 的值是 9

示例 5:结合其他函数使用

使用 enumerate() 生成带索引的元组列表:

indexed_fruits = list(enumerate(fruits, start=10))
print(indexed_fruits)

输出

[(10, 'apple'), (11, 'banana'), (12, 'cherry')]

常见用途

  1. 需要同时访问索引和值的场景(如修改元素、记录位置)。
  2. 生成带索引的数据结构(如字典或元组列表)。
  3. 调试时跟踪元素位置

通过 enumerate(),可以避免手动维护索引变量,使代码更简洁高效。

posted @ 2025-03-28 08:50  nxhujiee  阅读(1577)  评论(0)    收藏  举报