我有一个函数,它给了我一个具有特定形状的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
可能有一个具有其他形状的数组,但代码应该适用于每个形状。
答案 0 :(得分:0)
为什么要这么复杂,只需在f
中调用f2
并在那里使用数组:
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)