TGViewer
Just Python Just Python @justpython_it · 9.76K subscribers
Post #3915 588
Оптимизация памяти в Python: Использование генераторов вместо списков

Когда мы работаем с большими наборами данных, важно помнить об эффективном использовании памяти. Одной из полезных фишек 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 12, 2026Собственные генераторы Ключевое слово yield похоже на ключевое слово return. За исключение…
  2. Oct 12, 2026Команды break, continue и pass break полностью останавливает цикл for/while. Никакой друго…
  3. Oct 11, 2026Блоки try, except, finally Блоки try-except-finally позволяют нам обрабатывать вещи, когда…
  4. Oct 11, 2026True и False значения В Python действует понятное правило, по которому отсутствие данных в…
  5. Oct 10, 2026Синтаксис декоратора функции Декоратор – это обертка вокруг функции, которая определенным…
  6. Oct 10, 2026Проверка необходимой версии Python Чтобы ваши пользователи не могли запустить скрипт в нес…
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 →