功能输出的形状

时间:2017-08-10 11:32:46

标签: python arrays numpy shape

我有一个函数,它给了我一个具有特定形状的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可能有一个具有其他形状的数组,但代码应该适用于每个形状。

1 个答案:

答案 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)