gpt4 book ai didi

python - 控制生成器的迭代范围?

转载 作者:行者123 更新时间:2023-12-01 04:10:20 27 4
gpt4 key购买 nike

有没有办法可以控制Python生成器对象的迭代范围?

示例:假设一个生成器由 2000 个项目组成,我希望一个循环从 1 迭代到 100,另一个循环从 101 迭代到 200,依此类推。

一个简单的for生成器中的项目循环只会耗尽生成器

最佳答案

itertools.islice(generator, start, stop, step) 是您想要使用的。

例如:

def generator():
n = 1
while n:
yield n
n += 1

items = generator()
for item in itertools.islice(items, 100):
print ('first', item)
for item in itertools.islice(items, 100):
print ('second', item)

编辑:上面的当然只能让你每次拿一百。如果您知道您的生成器是有限的,我会将其放入一个列表中,然后迭代它的范围。然后你可以有任意和重叠的范围。

关于python - 控制生成器的迭代范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35041519/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com