函数输出的形状
Shape of function output
我有一个函数可以给我一个具有特定形状的 numpy 数组,但我还不知道这个数组将是什么形状。
现在我有了另一个函数,它将这个函数作为输入。我现在如何提取有关第一个函数的 numpy 数组形状的信息,以便我可以在第二个函数中使用它?
示例:
f1 = lambda x: np.array([[1,2,3],[4,5,6]]) # 2x3
def f2(f):
print(f.shape) # should give me (2,3) here
In: f2(f1)
问题是我想以这种方式编码,这样 f1
可能会有一个具有其他形状的数组,但代码应该适用于每种形状。
为什么搞得这么复杂,只要在f2
中调用f
,并在那里使用数组:
f1 = lambda x: np.array([[1,2,3],[4,5,6]]) # 2x3
def f2(f):
arr = f(1) # add your inputs here instead of the "1"
print(arr.shape)
>>> f2(f1)
(2, 3)
您还可以为 lambda
函数分配一个属性,以防您不想调用它:
f1 = lambda x: np.array([[1,2,3],[4,5,6]]) # 2x3
def f2(f):
print(f.shape)
>>> f1.shape = (2, 3)
>>> f2(f1)
(2, 3)
我有一个函数可以给我一个具有特定形状的 numpy 数组,但我还不知道这个数组将是什么形状。
现在我有了另一个函数,它将这个函数作为输入。我现在如何提取有关第一个函数的 numpy 数组形状的信息,以便我可以在第二个函数中使用它?
示例:
f1 = lambda x: np.array([[1,2,3],[4,5,6]]) # 2x3
def f2(f):
print(f.shape) # should give me (2,3) here
In: f2(f1)
问题是我想以这种方式编码,这样 f1
可能会有一个具有其他形状的数组,但代码应该适用于每种形状。
为什么搞得这么复杂,只要在f2
中调用f
,并在那里使用数组:
f1 = lambda x: np.array([[1,2,3],[4,5,6]]) # 2x3
def f2(f):
arr = f(1) # add your inputs here instead of the "1"
print(arr.shape)
>>> f2(f1)
(2, 3)
您还可以为 lambda
函数分配一个属性,以防您不想调用它:
f1 = lambda x: np.array([[1,2,3],[4,5,6]]) # 2x3
def f2(f):
print(f.shape)
>>> f1.shape = (2, 3)
>>> f2(f1)
(2, 3)