Войти Создать аккаунт

Нарезка · Шаг 3 из 4

Части по столько-то

Главное действие всей утилиты: поток записей превращается в части, и каждую оболочка тут же пишет на диск. Часть уходит на диск, как только набралась, — иначе миллион записей снова оказался бы в памяти, и вся затея потеряла бы смысл.

Что сделать

Режьте поток записей на части — каждая уходит на диск, как только набралась.

Что приходит

  • zapisi — поток записей

  • razmer — сколько записей в части, целое больше нуля

Что вернуть

Генератор: отдаёт части — списки по razmer записей подряд; последняя может быть короче; в памяти — не больше одной части.

Допишите функцию chasti в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

В проекте

Это главное действие утилиты: каждую отданную часть оболочка сразу пишет на диск отдельным файлом. Решите шаг — и выгрузка разрежется, не загружаясь в память.

Вызов
list(chasti([1, 2, 3, 4, 5], 2))
Вернуть
[[1, 2], [3, 4], [5]]
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.