Agregar valores a una matriz dentro de un objeto (recorrer objetos)
Esta es una versión ordenada deest pregunta. Como cambié tanto hice una nueva pregunta
Estoy tratando de tomar ciertos valores de una matriz más largasolution
y colóquelos en una matriz más pequeña, dentro de un objeto. Se supone que este código toma la primera mitad de lasolution
array y ponerlo enx_hist
dentrom1
, y la segunda mitad de lasolution
array y ponerlo enx_hist
dentrom2
. En cambio, parece tomar todas lassolution
array y ponerlo enx_hist
para ambos objetos. Alguien sabe por qué este puede ser el caso? ¿He accidentalmente vectorizado el código?
class Mass:
x_hist = []
m1 = Mass()
m2 = Mass()
ms = [m1,m2]
solution = [1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0]
for i in range(len(ms)):
for k in range(int(len(sol)/len(ms))):
ms[i].x_hist.append(solution[k+8*i])
print(m1.x_hist)
print(m2.x_hist)
La salida es:
[1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0]
[1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0]
Estoy tratando de obtener una salida de:
[1, 2, 3, 4, 5, 6, 7, 8]
[0, 0, 0, 0, 0, 0, 0, 0]