小编PIn*_*ngu的帖子

上一篇产量操作 - python

最近我一直在使用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)

这可能听起来很愚蠢,但是生成器中是否有这个先前的内容,如果没有,为什么会这样?为什么我们不能减少迭代器,或者我不知道现有的方法,请多指教。什么是实现我手头的最接近的方法。

python iterator yield function list

5
推荐指数
1
解决办法
1529
查看次数

标签 统计

function ×1

iterator ×1

list ×1

python ×1

yield ×1