我有 2 个迭代器
async def iter1():
for i in range(5):
await asyncio.sleep(0.1)
yield 1
async def iter2():
for i in range(10):
await asyncio.sleep(1)
yield 2
我想做一个函数async_zip_stream(*args, default_value=0)
它必须同时迭代传递给它的所有迭代器,而不同步,生成值映射。如果某个迭代器在某个时刻没有生成值,则需要返回默认值
也就是说,在这种情况下答案将是
1, 0
1, 0
1, 0
1, 0
1, 0
0, 2
....
我真的不明白在迭代器之间没有同步的情况下如何做到这一点