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

 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号