作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个函数返回两个元素的元组。使用 pool starmap 调用该函数来生成元组列表,这些元组被解压缩为两个列表。
def func():
#...some operations
return (x,y)
def MP_a_func(func,iterable,proc,chunk):
pool=multiprocessing.Pool(processes=proc)
Result=pool.starmap(func,iterable,chunksize=chunk)
pool.close()
return Result
##
if __name__ == '__main__':
results=MP_a_func(func,iterable,proc,chunk)
a,b=zip(*results)
我现在希望使用 dask delayed
API,如下所示
if __name__ == '__main__':
results=delayed(MP_a_func(func,iterable,proc,chunk))
是否可以在不使用 results.compute()
的情况下解压延迟对象中的元组?
感谢您的帮助
最佳答案
另一个延迟函数可以解压元组,在下面的示例中,return_tuple(1)
的延迟值未计算,而是作为 delayed
传递> 对象:
import dask
@dask.delayed
def return_tuple(x):
return x+1, x-1
@dask.delayed
def process_first_item(some_tuple):
return some_tuple[0]+10
result = process_first_item(return_tuple(1))
dask.compute(result)
根据@mdurant的回答,事实证明delayed
函数/装饰器有nout
参数,另请参阅this answer .
关于python - 解包元组列表的 dask 延迟对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66604014/
我是一名优秀的程序员,十分优秀!