Skip to main content
 首页 » 编程设计

python之使用相同的参数运行相同的函数 10 次并获得结果

2025年05月04日15lautakyan007

我正在寻找使用相同参数运行 10 次相同函数并存储结果的最聪明的方法。

直接的解决方案是:

def f(a): 
    // do stuff 
    return a 
 
results = [] 
same_argument = 10 
 
for x in range(0,10): 
    results.append(f(same_argument)) 

这可行,但我相信如果 10 个进程可以同时运行,该进程将花费更少的时间。

The multi-process map function看起来它可以完成这项工作,但它只需要一个可迭代的参数。我可以向它传递 10 次相同参数的列表,但感觉不对。

是否有任何其他内置方法来处理我的问题?

请您参考如下方法:

我只是使用一个pool 并多次传递相同的参数...

n_times = 10 
results = pool.map(f, [same_argument] * n_times) 

速度很快,而且很容易判断发生了什么。唯一的缺点是它需要一点中间存储——与保存实际结果所需的存储量相比,这可能可以忽略不计。

当然,如果你真的担心存储开销,你应该可以使用 itertools.repeat(same_argument, n_times) ...