2024-09-28 19:01:36 发布
网友
我需要得到的结果,每个发电机在同一时间,但发电机的数量可以从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
你想要zip来做这个。下面是一个简单的例子:
zip
generators = [(1,2), (3,4), (5,6)] [sum(i) for i in zip(*generators)] # [9, 12]
或者^{}正如@alexis所建议的,如果生成器的长度可能不同,并且您希望迭代直到消耗最长的生成器:
generators = [(1,2), (3,4), (5,6,0)] [sum(i) for i in zip_longest(*generators, fillvalue=0)] # [9, 12, 0]
你想要
zip
来做这个。下面是一个简单的例子:或者^{} 正如@alexis所建议的,如果生成器的长度可能不同,并且您希望迭代直到消耗最长的生成器:
相关问题 更多 >
编程相关推荐