【发布时间】:2021-12-13 18:43:12
【问题描述】:
我创建了一个迭代器来增加各种绘图函数调用中的图形编号:
figndx=itertools.count()
然后我继续在我的代码中调用这些,传递 next(figndx) 作为参数来增加我用于数字编号的值:- 例如:
an.plotimg(ref_frame,next(figndx),'Ref Frame')
an.plotimg(new_frame,next(figndx),'New Frame')
等等……
在某些特定的函数调用之后,我想读回 figndx 值并将其存储在一个变量中以供以后使用。但是,例如,当我查看 figndx 时,它会返回 count(7)。如何从中提取“7”?
我试过了:
figndx
figndx.__iter__()
我在“建议”方法(当我键入点 (.) 时)中找不到任何其他可以获取实际迭代器值的方法。这个可以吗?
`
【问题讨论】:
-
你想做的就是偷看值,我的意思是在不移动迭代器的情况下获取值?
-
我认为
itertools.count对象无论如何都不会公开以检索该值。我想,你可以用复古或其他东西来解析字符串表示,但这将依赖于实现细节。 -
right @ Dani Mesejo.... 我在不断寻找替代方案时找到了这个答案,它似乎有效:stackoverflow.com/questions/38101507/…。 figndx.__reduce__()[1][0] 似乎有效。
-
“实际的迭代器”是什么意思?
figndx是实际的迭代器。 -
@jrive 是的,绝对不要那样做