Мне нужно иметь несколько объектов, каждый из которых имеет отдельный массив. Я написал этот код:Python: Определить массив как атрибут класса экземпляра
read_values = list()
for read_unit in read_units:
read_value = ReadValues.objects.all().filter(ReadID=read_unit.ReadID)
element = TempObjectForReadValues()
for read_element in read_value:
element.read_elements[read_element.Code] = read_element.ReadValue
read_values.append(element)
print(element.read_elements)
print(' ')
for test_element in read_values:
print(test_element.read_elements)
И это, как я определил класс:
class TempObjectForReadValues():
read_elements = [None] * 10
Результат является:
[None, None, 16.0, None, 189.0, 345.0, None, None, None, None]
[None, None, 16.0, 43.0, 876.0, 345.0, None, None, None, None]
[None, None, 16.0, 43.0, 876.0, 345.0, None, None, None, None]
[None, None, 16.0, 43.0, 876.0, 345.0, None, None, None, None]
Это означает, что данные будут перезаписаны на предыдущих , Кроме того, если я не присваиваю ничего массиву в новом объекте, он содержит результаты предыдущего. :(
Как я могу это исправить?
Большое спасибо за ваш идеальный ответ. – Ahmad