我有一個函數實例數組以及適用於這些實例的幾個參數數組。函數實例的數組可以是任意大小的。的定義如下(是的,每個功能採用相同的參數):Python:將參數映射到數組中的函數
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)
它將返回(在每個輸入參數的個數注意三個要素,三個數組返回):
[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])]
[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])]
有關如何優雅地將參數應用於函數實例的任何想法?
你從循環中得到什麼問題? – Marcin
它重複結果,因爲每個函數都返回X個數組,其中X是每個輸入參數中元素的數量。 –
請將此信息整合到您的問題中。目前還不清楚這種重複是如何發生的,所以如果你可以將它與示例輸入和輸出聯繫起來,這將有助於你明顯地理解你的問題。 – Marcin