В настоящее время я пишу программу python, которая должна создать массив объектов класса, которые были созданы.
Проблема, с которой я столкнулся, заключается в том, что класс имеет массив в качестве атрибута. После того, как я выполняю myArray.clear (), объект класса теряет значения массива. Остальные значения не теряются. Я знаю, что это связано со ссылкой на массив, но я не знаю, как это исправить.
Пример кода:
Class
class Testclass(object):
def __init__(self, array, normalValue):
self._array= array
self._normalValue= normalValue
Main
if __name__=="main":
exampleIteratorArray = ["Ex1", "Ex2", "Ex3"]
objectArray = []
for i, value in enumerate(exampleIteratorArray):
exampleArray = [i, i+1, i+2]
objectArray.append(Testclass(exampleArray, value))
exampleArray.clear() #I have to do this because I want to check the state depending on the value of this variable (in my main code)
#After the exampleArray.clear(), the objectArray loses the exampleArray values but not the i value
Поэтому я хотел знать, как я могу добавлять объекты в массив без потери значений после каждой итерации. Заранее спасибо! :)
Редактировать
Как заметил Азро, я создаю новую переменную из exampleArray на каждой итерации, поэтому мне не нужно очищать массив.