Код Junior Итераторы и генераторы спрашивают часто обновлено

Разбить последовательность на пачки

Условие

Напишите генератор chunks(items, size), который выдаёт списки по size элементов (последний может быть короче). items может быть любым итерируемым, в том числе итератором. Проверка: run(items, size) возвращает list(chunks(iter(items), size)).

Примеры

run([1, 2, 3, 4, 5], 2) // [[1, 2], [3, 4], [5]]
run([], 3) // []
run([1, 2, 3], 3) // [[1, 2, 3]]

Как подойти

Подсказки: 2
  1. Срезы работают только у последовательностей.
  2. itertools.islice от одного и того же итератора.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме