要复制enumerate函数的功能,可以使用一个计数器来追踪元素的索引。以下是一个解决方法的代码示例:
def my_enumerate(sequence, start=0):
count = start
for item in sequence:
yield count, item
count += 1
# 示例用法
sequence = ['a', 'b', 'c', 'd']
for index, element in my_enumerate(sequence, 1):
print(index, element)
输出:
1 a
2 b
3 c
4 d
在上述代码中,my_enumerate函数接受一个可迭代对象sequence和一个可选的起始索引start作为参数。函数使用一个count变量来追踪元素的索引,并使用yield语句生成每个元素的索引和值。每次调用next()函数或迭代for循环时,count会递增,从而保证每个元素都有一个唯一的索引。