関数インスタンスの配列と、それらのインスタンスに適用する引数の配列がいくつかあります。関数インスタンスの配列は、任意のサイズにすることができます。定義は次のとおりです (はい、各関数は同じ引数を取ります)。
fcn1(a, b, c)
fcn2(a, b, c)
関数の各引数は、float の配列です。次に例を示します。
a = numpy.array([1., 2., 3.])
b = numpy.array([1., 2., 3.])
c = numpy.array([1., 2., 3.])
関数インスタンスの配列は次のようになります。
[<function fcn1 at 0x030A44F0> <function fcn2 at 0x030A4530>]
私がしようとしているのは、関数の引数を各配列インスタンスにマップすることです。
これまでのところ、次のような簡単なことを試しました。
for f in fcn:
print f(a, b, c)
しかし、関数が構築される方法では、X 個の配列を返します。ここで、X はa
、b
、およびの各要素の数ですc
。たとえば、単純に呼び出すと:
fcn1(a, b, c)
返されます (入力引数のそれぞれに 3 つの要素があり、3 つの配列が返されることに注意してください)。
[array([0.2343, 0.4943, ..., 0.8943, 0.7115]), array([0.2343, 0.4853, ..., 0.8555, 0.1915]), array([0.7773, 0.1343, ..., 0.8045, 0.9994])]
単純なループを実行すると、次の 2 つの配列の配列が発生します。
[array([0.2343, 0.4943, ..., 0.8943, 0.7115]), array([0.2343, 0.4853, ..., 0.8555, 0.1915]), array([0.7773, 0.1343, ..., 0.8045, 0.9994])]
[array([0.2343, 0.4943, ..., 0.8943, 0.7115]), array([0.2343, 0.4853, ..., 0.8555, 0.1915]), array([0.7773, 0.1343, ..., 0.8045, 0.9994])]
引数を関数インスタンスにエレガントに適用する方法について何か考えはありますか?