import multiprocessing as mp
pool = mp.Pool()
据我了解(如果有误,请纠正我):
map
适用于仅使用一个输入参数的函数,并且您可以
可以传入此类单个参数的列表以进行多个函数调用apply
适用于可以采用多个参数的函数,但是您可以
只能传递一个这样的参数的元组来进行一个函数调用starmap
可以处理多参数功能并可以通过
在参数元组列表中由于starmap
可以处理map
和apply
所具有的功能,因此Python为什么提供三个功能而不是仅提供三个功能?换句话说,map
和/或apply
比starmap
有什么优势?
更新
正如 @coldspeed 所指出的,它可以向后兼容。但这引出了问题,我想这实际上是让我感到困惑的地方:python为什么首先使map
和apply
都变得如此,要允许多参数和工作列表有什么困难?同时?
希望由于被认为是“主要基于意见的”而无法关闭。原始的python开发人员为什么要使两个函数各有其自身的局限性,而不是一个单一的全能的函数,所以必须有一些可以被普遍理解的原因。