🔹 Генераторы в Python: экономим память 🔹 Хотите обрабатывать большие потоки данных без OOM? 🔸 Генераторы позволяют выдавать элементы по одному, а не хранить всю коллекцию в памяти. Это решает проблему падения программы при работе с большими или потенциально бесконечными наборами данных.

🔸 generator — это итератор (iterator) с ленивой (lazy) выдачей: функция с yield приостанавливается и возвращает следующее значение по запросу. Итератор реализует iter и next и управляет потоком данных без аллокации всего массива.

🔸 Как создать: используйте yield вместо сборки списка. Малый пример — квадрат чисел, но без списка в памяти:

def squares(n): for i in range(n): yield i*i

for v in squares(10_000_000): if v < 100: print(v) else: break

📚 Генераторы — простая и эффективная lazy-оптимизация для больших потоков; применяйте yield, когда не нужен весь набор сразу.

#CODERIKK #Python #Middle

➡️ Мы в Telegram - Сетке - ВК Буду рад вашей реакции здесь⬇️


В этом посте были ссылки, но мы их удалили по правилам Сетки

🔹 Генераторы в Python: экономим память
🔹 Хотите обрабатывать большие потоки данных без OOM?
🔸 Генераторы позволяют выдавать элементы по одному, а не хранить всю коллекцию в памяти | Сетка — социальная сеть от hh.ru