我有一个工作功能:
def yo(a, b):
return np.random.rand(a, b)
我想定义一个新函数res
,该函数调用yo
和另一个函数reshape
:
def res(a, b):
maa = []
for t in yo(a, b):
maa.append(t[0])
return np.reshape(maa, (a, 1)) # Calling another function
但是当我如下运行此功能res
时,我遇到了一个错误:
res(5,4)
cannot reshape array of size 1 into shape (5,1)
当我删除以下子功能时,代码运行良好。
maa = []
for t in yo(5, 4):
maa.append(t[0])
print(np.reshape(maa,(5,1)))
总体而言,我想了解如何在函数中定义函数。
答案 0 :(得分:0)
正如Mad Physicist建议的那样,您只是有一个缩进错误。 for循环完成后,应调用ng g c component-name --spec false
语句:
ng g c --help
这将返回与“不使用return
”时相同的结果。发生错误的原因是因为def res(a, b):
maa = []
for t in yo(a, b):
maa.append(t[0])
return np.reshape(maa, (a, 1)) # Notice the indentation on this line
试图仅对def
输出的数组的单行进行操作。