一、enumerate():迭代计数的"索引器"
1.1 基础用法:为迭代对象添加计数
enumerate() 函数用于将一个可迭代对象(如列表、元组等)组合为一个索引序列,同时返回索引和对应的元素值。默认计数从 0 开始,但可通过 start 参数自定义起始值。
# 基本示例
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
print(list(enumerate(seasons)))
# 输出:[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
# 自定义起始值
print(list(enumerate(seasons, start=1)))
# 输出:[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
# 等价于手动实现
def enumerate(iterable, start=0):
n = start
for elem in iterable:
yield n, elem
n += 1
1.2 实际应用:遍历时获取索引和值
class DataProcessor:
@staticmethod
def process_with_index(data_list):
"""带索引处理数据"""
processed = []
for index, value in enumerate(data_list, start=1):
processed.append(f"{index}: {value.upper()}")
return processed
@staticmethod
():
positions = [index index, value (data) value == target]
positions
():
batches = []
batch_num, i ((, (items), batch_size)):
batch = items[i:i + batch_size]
batches.append((batch_num + , batch))
batches
processor = DataProcessor()
data = [, , ]
result = processor.process_with_index(data)
()
positions = processor.find_element_positions([, , , ], )
()
items = (())
batches = processor.batch_processing(items, batch_size=)
()


