【发布时间】:2020-02-06 08:10:55
【问题描述】:
我不知道如何在 Python 生成器中向前看一个元素。我一看就不见了。
这就是我的意思:
gen = iter([1,2,3])
next_value = gen.next() # okay, I looked forward and see that next_value = 1
# but now:
list(gen) # is [2, 3] -- the first value is gone!
这是一个更真实的例子:
gen = element_generator()
if gen.next_value() == 'STOP':
quit_application()
else:
process(gen.next())
谁能帮我写一个可以向前看一个元素的生成器?
【问题讨论】:
-
你能更详细地描述你想要做什么吗?也许是代码示例?
-
如果你有一个现有的列表,你还需要什么?另外,您似乎将第一个值保存为
next_value,不是吗? -
SilentGhost,这是一个说明
gone含义的示例。我没有列表,也没有 next_value。这只是一个示例,说明元素从生成器中消失意味着什么。 -
@bodacydo:我还是不明白。 怎么那么它消失了?为什么您无法访问该值?
-
蒂姆,用一个更好的例子更新了这个问题。