Вступить в клуб →
лёгкаявопросPython для ETL: загрузка, валидация и версии записей

Цепочка трансформаций из трёх list comprehension держит в памяти три копии данных

rows = [parse(line) for line in open("events.jsonl")]
valid = [r for r in rows if is_valid(r)]
enriched = [enrich(r) for r in valid]
write_batches(enriched)

На больших файлах скрипт съедает всю память. Как изменить цепочку, сохранив читаемость?

  • Заменить списки на генераторы
  • Вызывать del rows после каждой строки
  • Объединить всё в один list comprehension
  • Использовать кортежи вместо списков

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела