2017-10-14 105 views
0

我試圖將幾個矩陣追加到一個向量。我的目標是創建一個矩陣向量。Python - 將矩陣追加到循環中的向量

result_array = [] 
for prob in probs: 
    countprobstats(values) 
    result_array.append(values) 

的問題是,它看起來是替換與由函數而獲得的那些以前的值,例如:


從函數:[[6.9E-05,0.000233] [40836.0,137370.0]]

載體:[[[6.9E-05,0.000233],[40836.0,137370.0]]]


來自函數:[[0.00011,0.000371],[46236.0,155531.0]]

向量:[[[0.00011,0.000371],[46236.0,155531.0]],[[0.00011,0.000371],[46236.0,155531.0]] ]


從函數:[[0.000148,0.000498],[55658.0,186734.0]]

載體:[[[0.000148,0.000498],[55658.0,186734.0]],[[0.000148,0.000498 ],[55658.0,186734.0]],[[0.000148,0.000498],[55658.0,186734.0]]]

什麼是錯? 感謝

回答

1

貌似values總是同一個對象因爲countprobstats修改它原地的,而你複製指針到它,而不是實際的數據。

爲了解決這個問題,明確地複製數據:

something.append(values.copy()) 

...或有countprobstats返回而不是做就地修改副本。