Python 如何处理多个函数
如何在Python 如何处理多个函数,python,Python,如何在concurrent.futures的map功能中包含不可替代的KWARG?例如,在下面的代码中,对于single的所有函数调用,如何将c称为False?也就是说,single(iterable_a[i],iterable_b[i],c=False)其中i是介于0和3之间的整数 import concurrent.futures def single(a, b, c=True): return (a, b, c) if __name__ == '__main__': i
concurrent.futures
的map
功能中包含不可替代的KWARG?例如,在下面的代码中,对于single
的所有函数调用,如何将c
称为False?也就是说,single(iterable_a[i],iterable_b[i],c=False)
其中i
是介于0和3之间的整数
import concurrent.futures
def single(a, b, c=True):
return (a, b, c)
if __name__ == '__main__':
iterable_a = range(4)
iterable_b = range(4,8)
with concurrent.futures.ProcessPoolExecutor() as executor:
results = executor.map(single, iterable_a, iterable_b)
您可以使用以下方法:
from functools import partial
single2 = partial(single,c=False)
将生成一个函数single2
,其中c
设置为False
。因此,您可以使用:
from functools import partial
results = executor.map(partial(single,c=False), iterable_a, iterable_b)
从functools导入部分
results=executor.map(部分(单个,c=False),iterable\u a,iterable\u b)
因此,您的map
调用从partial(single,c=False)
生成的函数,然后您使用该函数map