我怎样才能在 python 中同时 运行 两个发电机
How can I run two generators at same time in python
我想要两个生成器同时产生,但其中任何一个都可以“挂起”直到另一个生成器完成。
def cal(tap):
while (tap!=0):
tap = tap-1
yield tap
我尝试用zip()
来实现
但我得到了这个
作为初始
的 7 和 5
6 4
5 3
4 2
3 1
2 0
我想实现这个:
6 4
5 3
4 2
3 1
2 0
1 0
0 0
我该怎么做?我需要一些支持方法吗?
from itertools import zip_longest
g = zip_longest(cal(7), cal(5), fillvalue=0)
list(g)
输出:
[(6, 4), (5, 3), (4, 2), (3, 1), (2, 0), (1, 0), (0, 0)]
我想要两个生成器同时产生,但其中任何一个都可以“挂起”直到另一个生成器完成。
def cal(tap):
while (tap!=0):
tap = tap-1
yield tap
我尝试用zip()
来实现
但我得到了这个
作为初始
6 4
5 3
4 2
3 1
2 0
我想实现这个:
6 4
5 3
4 2
3 1
2 0
1 0
0 0
我该怎么做?我需要一些支持方法吗?
from itertools import zip_longest
g = zip_longest(cal(7), cal(5), fillvalue=0)
list(g)
输出:
[(6, 4), (5, 3), (4, 2), (3, 1), (2, 0), (1, 0), (0, 0)]