И это будет содержать все элементы решения. Если вы просто пытаетесь получить доступ к x_hist экземпляра, вы правы для доступа через m1.x_hist, но вам, вероятно, не следует использовать переменные класса, если в этом нет необходимости.
езагроможденная версияэто вопрос. Поскольку я так сильно изменился, я задал новый вопрос
Я пытаюсь взять определенные значения из более длинного массиваsolution
и поместить их в меньший массив внутри объекта. Этот код должен занимать первую половинуsolution
массив и положить его вx_hist
вm1
и вторая половинаsolution
массив и положить его вx_hist
вm2
, Вместо этого, кажется, взять всеsolution
массив и положить его вx_hist
для обоих объектов. Кто-нибудь знает, почему это может иметь место? Я случайно векторизовал код?
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)
Выход:
[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]
Я пытаюсь получить вывод:
[1, 2, 3, 4, 5, 6, 7, 8]
[0, 0, 0, 0, 0, 0, 0, 0]