要复制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
会递增,从而保证每个元素都有一个唯一的索引。