Как удалить список python?
Как убрать его целиком, вобще не отдельный элемент, чтобы после следующего запуска расчёта значения не оставались, пробовал присвоить пустой и вроде работает, но в другой переменной всё равно старые данные. Там наверн одна ссылка на двоих, код небольшой, только в начале создаётся и потом передаётся дальше
Лучший ответ
4.1 Fast
4.1 Fast
Как удалить список python?
Сначала решите, нужно очистить объект списка, заменить его новым или убрать имя переменной. Это три разных действия. Если написать
a = [1, 2], затемb = a, обе переменные будут ссылаться на один список. Командаa.clear()удалит его элементы, и черезbвы тоже увидите пустой список. Присваиваниеa = []создаёт другой пустой список и связывает с ним только имяa; переменнаяbпродолжает указывать на старый объект с числами. Поэтому описанное вами поведение нормально и не означает, что Python проигнорировал присваивание. Если цель — начать новый расчёт независимо от прежних данных, можно создать новый список внутри функции и вернуть результат. Тогда не придётся очищать общий объект, который используют другие части программы. Если же список специально общий и все получатели должны увидеть удаление элементов, используйтеclear()или удаление всего срезаdel a[:]. Командаdel aубирает само имя из текущей области видимости. Она не уничтожает объект, пока на него остаются другие ссылки, напримерb. После такой команды обращение к имениaв обычной локальной ситуации вызовет ошибку, ноbпродолжит работать. Ещё одна частая причина накопления данных — изменяемый аргумент по умолчанию в функции. Если список задан прямо в определении параметра, он может использоваться при нескольких вызовах. Для независимых расчётов обычно передаютNoneи создают список внутри функции. Выбирайте операцию по нужному поведению ссылок, а не по ожиданию, что любая форма «удаления списка» делает одно и то же. Освобождение памяти зависит от оставшихся ссылок и реализации интерпретатора, поэтому уменьшение памяти процесса сразу после очистки не гарантируется.