TGViewer
Just Python Just Python @justpython_it · 9.77K subscribers
Post #4539 490
Как оптимизировать память используя генераторы вместо списков

Когда мы работаем с большими наборами данных, важно помнить об эффективном использовании памяти. Одной из полезных фишек Python для оптимизации памяти является использование генераторов вместо списков.

Пример кода

Допустим, у нас есть задача найти квадраты чисел от 1 до 1 000 000. Сначала посмотрим, как это сделать с помощью списка:

# Плохая практика: использование списка
squares = [x**2 for x in range(1, 1000001)]


Этот код создает список квадратов чисел, что требует значительного объема памяти. Вместо этого можно использовать генератор, который создаст объекты по мере их запроса, не занимая много памяти:

# Лучшая практика: использование генератора
squares = (x**2 for x in range(1, 1000001))


Теперь squares - это генератор, который генерирует квадраты чисел по мере необходимости, занимая минимальное количество памяти.

Почему это полезно

Использование генераторов вместо списков позволяет значительно экономить память, особенно при работе с большими наборами данных. Это делает ваш код более эффективным и позволяет работать с гораздо большими объемами данных без значительных затрат ресурсов.

#theory // Just Python
More from @justpython_it
  1. Oct 7, 2026Генератор списка + понимание генератора словарей/множеств С генератором списка мы можем со…
  2. Oct 7, 2026Словарь и set comprehensions Словарю нужны ключ и значение. Определяем ключ и значение в e…
  3. Oct 6, 2026Работа с датами Модуль python-dateutil предоставляет мощное расширение для стандартного da…
  4. Oct 6, 2026Пока вы платите за западные нейросети – китайские делают то же самое бесплатно ChatGPT и C…
  5. Oct 6, 2026Цепочки операторов сравнения Создавайте еще более читаемый и аккуратный код оптимизировав…
  6. Oct 5, 2026Магические методы в классах Python __init__ , __str__ и __gt__ являются магическими метода…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →