2017-10-14 103 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返回而不是做就地修改副本。