微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

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

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。