返回同样结果的Python生成器

5 投票
2 回答
1527 浏览
提问于 2025-04-16 01:42

我在找一个标准的函数来完成这个任务:

def Forever(v):
  while True:
    yield v

这看起来太简单了,我真不敢相信居然没有一个标准的版本。

顺便问一下,有人知道哪里有一个标准生成器函数的完整列表吗?

2 个回答

10

你在找的是 itertools.repeat(object[, times])

这个功能会创建一个迭代器,它会不断地返回你给定的 object。如果你没有指定 times 参数,它会一直运行下去。

16

itertools.repeat(x[, count]) 这个功能可以把 x 重复一定次数,如果你告诉它要重复多少次的话;如果不告诉它,它就会一直重复下去。

想要了解所有 itertools 生成器函数的详细列表,可以查看这里:

http://docs.python.org/library/itertools.html

撰写回答