我有一个包含多个数组的数据集,每个数组都有2个值。
我想创建一个接受输入(数据集,度)的函数,并对每个数组执行一些转换。也就是说,对于数组[x,y],我想返回一个新数组[1,x,y,xy,(x ^ 2)y,x(y ^ 2),...,(x ^度) y,x(y ^度)。
我尝试使用链将所有子数组作为一个数组返回,然后我将在该数组上应用必要的转换,然后我将使用 combinations_with_replacement 使一个转换后的数组返回子数组。
如果我的问题不清楚,那么函数的一个例子就是f(([1,2],[3,4]),2)。这将返回([[1,1,2,2,2,4],[1,3,4,12,36,48]])。
答案 0 :(得分:0)
我不确定这是否会产生您期望的输出,但它应该非常接近:
def powers(x, y, degree): # we'll assume degree >= 1
result= [1, x, y, x*y]
for i in range(2, degree+1):
result.append(x**i *y)
result.append(y**i *x)
return result
def f(arrays, degree):
return [powers(arr[0], arr[1], degree) for arr in arrays]