Я пытаюсь найти пространство параметров для хорошей модели. В моем коде я делаю что-то вроде следующего:
configurations = [None] * 9
index = 0
for param1 in range(3):
for param2 in range (3):
#call constructor
configurations[index] = Configuration(param1, param2)
index = index + 1
return configurations
, затем я использую этот массив в другом месте для построения моделей. Однако по какой-то причине он не заполняет массив. Я получаю ошибку при доступе к индексу 3 или выше. Проверка показывает, что массив с этими индексами по-прежнему равен «None». во время отладки я добавил к коду оператор печати:
configurations = [None] * 9
index = 0
for param1 in range(3):
for param2 in range (3):
#call constructor
configurations[index] = Configuration(param1, param2)
index = index + 1
for x in configurations:
print(x.param1)
return configurations
, к моему удивлению, теперь мой код работал гладко. Массив полностью заполнен. Если я закомментирую эти 2 строки: ошибка. раскомментируйте строки: снова работает.
что здесь происходит? Почему оператор print изменяет поведение моей программы? это сверхактивный G C, который предотвращается при печати значений?