Flu*_*uxy 6 python enums iterator enumerate azure
我有一个迭代器对象<iterator object azure.core.paging.ItemPaged at 0x7fdb309c02b0>。当我第一次迭代它时(参见下面的代码),它会打印结果。但是,当我第二次执行此代码时,它什么也不打印。
for i, r in enumerate(result):
print(r)
Run Code Online (Sandbox Code Playgroud)
我的代码有什么问题?我需要以某种方式重置枚举器吗?
这是 python 中的默认行为iterator。
如果您希望迭代器在第二次仍然工作,您可以使用itertools.tee()函数创建迭代器的第二个版本。就像下面这样:
from itertools import tee
#use the tee() function to create another version of iterator. here, it's result_backup
result, result_backup = tee(result)
print("**first iterate**")
for i, r in enumerate(result):
print(r)
print("**second iterate**")
#in the 2nd time, you can use result_backup
for i, r in enumerate(result_backup):
print(r)
Run Code Online (Sandbox Code Playgroud)