首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用相同的参数运行相同的函数10次,并获得结果

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

Stack Overflow用户
提问于 2015-02-09 23:41:38
回答 2查看 552关注 0票数 1

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

简单的解决办法是:

代码语言:javascript
复制
def f(a):
    // do stuff
    return a

results = []
same_argument = 10

for x in range(0,10):
    results.append(f(same_argument))

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

function似乎可以完成这项工作,但它只需要一个可迭代的参数。我可以给它一个10倍于相同论点的列表,但是它感觉不对。

还有其他内置的方式来解决我的问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-09 23:44:06

我只需要使用一个pool,并传递相同的参数很多次.

代码语言:javascript
复制
n_times = 10
results = pool.map(f, [same_argument] * n_times)

它是快速的,它很容易知道是怎么回事。唯一的缺点是它需要一个小小的中间存储--与你保存实际结果所需的存储量相比,这很可能是微不足道的。

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

票数 7
EN

Stack Overflow用户

发布于 2015-02-10 15:01:23

清单理解呢?

代码语言:javascript
复制
results = [f(same_argument) for _ in xrange(10)]

其中,"_“用于生成语法验证工具(如pylint),不抱怨未使用的变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28421605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档