【发布时间】:2019-07-07 11:01:14
【问题描述】:
我需要同时获取每个生成器的结果,但是生成器的数量可以是 1 到 10 之间的任何值。
我的问题大概和这个问题有关:Loop over two generator together
是否可以将其推广到列表中任意数量的生成器?类似的东西(不工作)
generators = [gen1, gen2, gen3, ....]
for *data in *generators:
#do something, e.g. average data along axis and write out
【问题讨论】:
-
chain依次 使用可迭代对象,这是错误的工具。 -
不幸的是,不是因为它说“从第一个迭代返回元素直到它用完,然后继续到下一个迭代”。但它应该返回每个迭代的第一个元素,然后是第二个,依此类推
-
您可能需要查看
zip,因为它发布在您在问题中链接的问题的答案中。 -
for a, b in zip(it1, it2)同时使用它们,itertools.chain迭代第一个然后第二个等等。
标签: python python-3.x loops generator