我有两台发电机,一台取决于另一台的输出。
import asyncio
def do_work(n):
for i in range(n):
yield i
def more_work(x):
for i in x:
yield i * 2
def main():
x = do_work(5)
y = more_work(x)
for i, j in zip(x, y):
print(i, j)
if __name__ == "__main__":
main()
当我尝试压缩输入时,Python 似乎正在跳过控制变量的一些值:
0 2
2 6
在两个生成器同时产生之前,
zip
是否继续迭代?
您是否尝试过将 x 和 y 转换为列表对象? x = 列表(x) y = 列表(y) 在你拉上拉链之前?