Какое из структур — range или список — использует больше памяти в Python?

В Python структура range использует значительно меньше памяти по сравнению со списком, содержащим те же элементы.

Короткий ответ

Что ответить на собеседовании

В Python структура range использует значительно меньше памяти по сравнению со списком, содержащим те же элементы. Это связано с тем, что range — это ленивый итератор, который хранит только начальное значение, конечное и шаг, а не все элементы последовательности.

Подробный разбор

Ответ с пояснениями

В Python структура range использует значительно меньше памяти по сравнению со списком, содержащим те же элементы. Это связано с тем, что range — это ленивый итератор, который хранит только начальное значение, конечное и шаг, а не все элементы последовательности.

Например:

r = range(1000000)  # занимает мало памяти
lst = list(r)       # занимает память под миллион элементов

Таким образом, список хранит все элементы в памяти, а range — только параметры генерации, что делает его более экономичным по памяти.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее