Когда мы работаем с большими наборами данных, важно помнить об эффективном использовании памяти. Одной из полезных фишек Python для оптимизации памяти является использование генераторов вместо списков.
➡️ Пример кода
Допустим, у нас есть задача найти квадраты чисел от 1 до 1 000 000. Сначала посмотрим, как это сделать с помощью списка:
# Плохая практика: использование списка
squares = [x**2 for x in range(1, 1000001)]
Этот код создает список квадратов чисел, что требует значительного объема памяти. Вместо этого можно использовать генератор, который создаст объекты по мере их запроса, не занимая много памяти:
# Лучшая практика: использование генератора
squares = (x**2 for x in range(1, 1000001))
Теперь squares - это генератор, который генерирует квадраты чисел по мере необходимости, занимая минимальное количество памяти.
Почему это полезно
Использование генераторов вместо списков позволяет значительно экономить память, особенно при работе с большими наборами данных. Это делает ваш код более эффективным и позволяет работать с гораздо большими объемами данных без значительных затрат ресурсов.
