当前位置: 首页 > 面试题库 >

Python使用多个输入对函数进行多处理

易雅畅
2023-03-14
问题内容

在Python中,该multiprocessing模块可用于在一系列值上并行运行函数。例如,这将生成f的前100000个评估的列表。

def f(i):
    return i * i

def main():
    import multiprocessing
    pool = multiprocessing.Pool(2)
    ans = pool.map(f, range(100000))

    return ans

当f接受多个输入而只有一个变量变化时,是否可以做类似的事情?例如,如何并行处理此:

def f(i, n):
    return i * i + 2*n

def main():
    ans = []
    for i in range(100000):
        ans.append(f(i, 20))

    return ans

问题答案:

有几种方法可以做到这一点。在问题给出的示例中,您可以定义一个包装函数

def g(i):
    return f(i, 20)

然后将此包装传递给map()。一种更通用的方法是使用一个包装器,该包装器使用一个元组参数并将该元组解包为多个参数

def g(tup):
    return f(*tup)

或使用等效的lambda表达式:lambda tup: f(*tup)



 类似资料:
  • 问题内容: 我想知道如何编写一个可以接受多行输入的简单程序,然后可以像在lynx浏览器中一样提交输入,在该浏览器中您可以使用空白行然后使用句点来提交输入。 我想在电子邮件程序中使用它。 问题答案: 这是一个简单的方法:

  • 文档显示了如何使用以输出列名为键的dict一次对groupby对象应用多个函数: 但是,这只对Series groupby对象有效。并且当类似地将dict传递给groupby数据帧时,它希望键是将应用该函数的列名。 我想做的是对几个列应用多个函数(但某些列将被多次操作)。此外,一些函数将依赖于groupby对象中的其他列(如sumif函数)。我当前的解决方案是逐列执行,并执行与上面的代码类似的操作

  • 问题内容: 我的一个朋友要我实现一个蓝色和红色指针来代表两只单独的鼠标的输入,以加快用于实时音频混合的混合台场景。我很乐意,但是尽管我认为这是个好主意,但我不知道从哪里开始寻找可能的解决方案。 我应该从哪里开始研究实现双鼠标输入的可行方法? 问题答案: 看一下jinput。 我已经使用了多个键盘,几乎可以肯定它也支持多个鼠标。

  • 本文向大家介绍Python使用多进程运行含有任意个参数的函数,包括了Python使用多进程运行含有任意个参数的函数的使用技巧和注意事项,需要的朋友参考一下 1. 问题引出 许多时候,我们对程序的速度都是有要求的,速度自然是越快越好。对于Python的话,一般都是使用multiprocessing这个库来实现程序的多进程化,例如: 我们有一个函数my_print,它的作用是打印我们的输入: def

  • 本文向大家介绍PHP使用array_multisort对多个数组或多维数组进行排序,包括了PHP使用array_multisort对多个数组或多维数组进行排序的使用技巧和注意事项,需要的朋友参考一下 PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。 关联(string)键名保持不变,但数字键名会被重新索引。 输入数组被当成一个表的列并以