如何迭代azure.core.paging.ItemPaged?

2024-05-20 11:55:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个迭代器对象<iterator object azure.core.paging.ItemPaged at 0x7fdb309c02b0>。当我第一次迭代它时(参见下面的代码),它会打印结果。但是,当我第二次执行此代码时,它不会打印任何内容

for i, r in enumerate(result):
   print(r)

我的代码有什么问题?我是否需要以某种方式重置枚举器


Tags: 对象代码incore内容forobjectresult
1条回答
网友
1楼 · 发布于 2024-05-20 11:55:16

这是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)

相关问题 更多 >