带有字典列表的 Python pool.starmap?

Tip*_*ier 8 python multiprocessing

是否有类似于 pools.starmap 的函数可以与字典列表一起使用?

代替 : pools.starmap(func, iterable_of_tuple)

你将会拥有: pools.starmapdict(func, iterable_of_dictionaries)

这样函数 starmapdict 将负责解包函数的参数字典。

Tip*_*ier 2

我使用的解决方法是:

from multiprocessing import Pool
    
data = [{"name": "Delphi", "age": 13}, {"name": "Orion", "age":24}, {"name": "Asher"}, {"name": "Baccus"}]
    
def fun_wrapper(dict_args):
    return fun(**dict_args)
    
def fun(name="Iseult", age=30):
    print(name, age)
    
if __name__ == '__main__':
    with Pool(3) as pool:
        pool.map(fun_wrapper, data)

Run Code Online (Sandbox Code Playgroud)

fun_wrapper 函数负责解包字典并将其交给 fun 函数。