最近我一直在使用Python中的“yield”。我发现生成器函数非常有用。我的问题是,是否有什么东西可以减少生成器对象中的想象光标。next(genfun) 如何移动并输出容器中的第 i 个项目,我想知道是否存在任何可以调用类似 previous(genfun) 的函数并移动到容器中的第 -1 个项目。
实际工作
def wordbyword():
words = ["a","b","c","d","e"]
for word in words:
yield word
getword = wordbyword()
next(getword)
next(getword)
Run Code Online (Sandbox Code Playgroud)
输出的
a
b
Run Code Online (Sandbox Code Playgroud)
我希望看到和实现的是
def wordbyword():
words = ["a","b","c","d","e"]
for word in words:
yield word
getword = wordbyword()
next(getword)
next(getword)
previous(getword)
Run Code Online (Sandbox Code Playgroud)
预期输出
a
b
a
Run Code Online (Sandbox Code Playgroud)
这可能听起来很愚蠢,但是生成器中是否有这个先前的内容,如果没有,为什么会这样?为什么我们不能减少迭代器,或者我不知道现有的方法,请多指教。什么是实现我手头的最接近的方法。