Добрый день! Начали изучать на 1-м курсе ВУЗа Python.
Мне после 3 лет С++ принципиально важно знать, как устроено все под капотом.
Преподы, к сожалению, молоды аспиранты и сами мало что знают.
Скажите, пожалуйста, вот если я из списка удалю элемент любым из следующих способов: del x[1], x.pop[1], x.remove[1]. Данные ведь сохранятся в памяти?
x = [1, 2, 3, 4, 5]
a = x[4]
x.remove(5)
print(a)
print(a) выведет в консоль 5, хотя я вроде бы удалил данные. То же самое происходит и с del, и c pop. Я знаю, что в Python'е все переменные - ссылки на объекты. И все эти методы просто удаляют ссылки, но что же делать с ненужными данными? Неужели они так и останутся висеть в памяти до конца работы программы?
Буду очень благодарен за Ваши ответы!