gpt4 book ai didi

python - 两个同步生成器函数,Python

转载 作者:太空宇宙 更新时间:2023-11-04 07:02:01 25 4
gpt4 key购买 nike

我有两个功能:

def a():
while True:
yield stuff

def b():
while True:
yield otherstuff

我想要一个循环,它从存储在 a for a() 和 b for b() 中的每个函数中收集一个 yield;例如。如果我嵌套调用它们的 for 循环,它会在每次第一个循环循环时重新启动第二个生成器。我能帮忙吗?

谢谢!

最佳答案

你可以使用 itertools.izip(...)将值压缩在一起。

>>> def a():
for i in xrange(10):
yield i


>>> def b():
for i in xrange(10, 20):
yield i


>>> from itertools import izip
>>> for i, j in izip(a(), b()):
print i, j


0 10
1 11
2 12
3 13
4 14
5 15
6 16
7 17
8 18
9 19

关于python - 两个同步生成器函数,Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18551937/

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