Python:读取具有可变返回类型的函数的输出
我需要使用一个包中的函数,该函数返回单个对象或一个numpy对象数组。我想读取numpy数组中函数的输出,不考虑输出的类型 原因是我希望能够迭代输出。所以实际上它不一定是一个numpy数组,我只想要一个iterable对象 例如:Python:读取具有可变返回类型的函数的输出,python,function,return,iterable,Python,Function,Return,Iterable,我需要使用一个包中的函数,该函数返回单个对象或一个numpy对象数组。我想读取numpy数组中函数的输出,不考虑输出的类型 原因是我希望能够迭代输出。所以实际上它不一定是一个numpy数组,我只想要一个iterable对象 例如: import numpy as np def f(returnArray) : if returnArray : return np.arange(2) else : return 1 foo1 = f(True) foo2 = f(Fal
import numpy as np
def f(returnArray) :
if returnArray :
return np.arange(2)
else :
return 1
foo1 = f(True)
foo2 = f(False)
print foo1, foo2
产出将是
[0 1] 1
但我希望foo2是可移植的。因为f是包的一部分,我当然不能修改它
例如,有没有一种不检查输出是否可输入的优雅方法?也许您可以返回一个用一些*参数构造的生成器?您不能简单地返回[1]吗而不是标量1?我希望我可以,但如上所述,我不能将任何东西更改为f,因为它是包的一部分。我不确定是否有一种完全干净的方法来完成它。看一看这个相关的线程,特别是第二个答案:如果您将False作为arg发送,您不确定会得到一个对象吗?如果是,那么当它为False时,将返回值包装在[]中。