gpt4 book ai didi

python - 如何使用带有 *args 的映射在 python 函数调用中解包元组

转载 作者:太空狗 更新时间:2023-10-29 21:46:30 26 4
gpt4 key购买 nike

我目前正在对一组我想并行化的变量进行合并。我的代码看起来像这样:

mergelist = [
('leftfile1', 'rightfile1', 'leftvarname1', 'outputname1'),
('leftfile1', 'rightfile1', 'leftvarname2', 'outputname2')
('leftfile2', 'rightfile2', 'leftvarname3', 'outputname3')
]

def merger(leftfile,rightfile,leftvarname,outvarname):
do_the_merge

for m in mergelist:
merger(*m)

通常,为了加快长循环,我会将 mergelist 中的 for m 替换为...

from multiprocessing import Pool

p = Pool(8)
p.map(merger(m), mergelist)
p.close()

但是由于我使用星号来解包元组,所以我不清楚如何正确映射它。我如何获得 *m

最佳答案

使用lambda:

with Pool(8) as p:
p.map(lambda m:merger(*m), mergelist)

关于python - 如何使用带有 *args 的映射在 python 函数调用中解包元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22052780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com