Перейти к содержимому
Задача · Модули, файлы и генераторы · урок 11 из 12

Задача: порции

Напишите генератор chunks(items, size): функция с yield, которая выдаёт элементы items порциями — списками по size элементов в исходном порядке. items — любой итерируемый объект: список, строка, range или другой генератор. Последняя порция может быть короче.

  • list(chunks([1, 2, 3, 4, 5], 2)) → [[1, 2], [3, 4], [5]]
  • list(chunks([1, 2, 3], 10)) → [[1, 2, 3]]
  • list(chunks("abcde", 3)) → [['a', 'b', 'c'], ['d', 'e']]
  • next(chunks([7, 8, 9], 2)) → [7, 8]

Ограничения: size — целое число не меньше 1; items может быть пустым, и тогда генератор не выдаёт ни одной порции.

Не добавляйте лишних импортов, если в задаче это прямо не сказано.

chunks.py — python
python · строк: 3
Ctrl+Enter запуск · Esc выйти из редактора

Подпишись, чтобы пройти курс

Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.

Войти другим способом