Python中的enumerate函数

enumerate是Python的内置函数,用于将一个可迭代对象(如列表、元组、字符串等)组合为一个索引序列,同时列出数据和数据的索引。它在遍历可迭代对象时十分有用,能简化代码编写,提高代码的可读性。

基本语法

enumerate(iterable, start=0),其中iterable是必选参数,代表要遍历的可迭代对象;start是可选参数,用于指定索引的起始值,默认值为0

返回值

enumerate返回一个枚举对象,这是一个可迭代对象,可以使用for循环来遍历,每次迭代会返回一个包含索引和对应元素的元组。

示例

遍历列表

fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
    print(f"索引 {index} 对应的水果是 {fruit}")
# 输出:
# 索引 0 对应的水果是 apple
# 索引 1 对应的水果是 banana
# 索引 2 对应的水果是 cherry

指定起始索引

fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits, start=1):
    print(f"第 {index} 个水果是 {fruit}")
# 输出:
# 第 1 个水果是 apple
# 第 2 个水果是 banana
# 第 3 个水果是 cherry

结合list()函数

enumerate返回的枚举对象可通过list()函数转换为列表,列表中的每个元素是包含索引和对应元素的元组。

fruits = ['apple', 'banana', 'cherry']
enum_list = list(enumerate(fruits))
print(enum_list)
# 输出:
# [(0, 'apple'), (1, 'banana'), (2, 'cherry')]

使用场景

更新可迭代对象中的元素

在遍历列表等可迭代对象时,若需要根据索引修改其中的元素,enumerate可方便获取索引。

nums = [1, 2, 3, 4, 5]
for index, num in enumerate(nums):
    nums[index] = num * 2
print(nums)
# 输出:
# [2, 4, 6, 8, 10]

处理多个可迭代对象

在同时遍历多个可迭代对象且需要使用索引时,enumerate能与zip函数配合使用。

names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
for index, (name, age) in enumerate(zip(names, ages)):
    print(f"第 {index} 个人是 {name},年龄是 {age}")
# 输出:
# 第 0 个人是 Alice,年龄是 25
# 第 1 个人是 Bob,年龄是 30
# 第 2 个人是 Charlie,年龄是 35
posted @ 2025-03-19 11:03  icuic  阅读(179)  评论(0)    收藏  举报