首页 > 解决方案 > Dask延迟:通过两个列表的组合

问题描述

我觉得这应该很容易实现,但是我无法将(惰性)列表的组合传递给延迟函数:

def test(a,b):
    return(str(a)+','+str(b))

a = [1,2] #not lazy for example
b = [3,4] #not lazy
c = dask.delayed(test)(a,b)
c = c.compute()
out:
'[1,2][3,4]'
desired output:
['1,3','1,4','2,3','2,4']

也试过:

def test(c):
    a = c[0]
    b = c[1]
    return(str(a)+','+str(b))

def combine_a_b(a,b):
    return([(i,j) for i in a for j in b])

c = dask.delayed(combine_a_b)(a,b)
c = dask.delayed(test)(c)
c = c.compute()
out:
'(1,3)(1,4)'

我在这里做错了什么?

标签: pythondaskdask-delayed

解决方案


推荐阅读