Упражнения по Python для начинающих

Split a List into Chunks in Python

Break a list into groups of 3 with slicing and range(): perfect for pages, batches and grids.

  • Начальный
  • Чтение: 2 мин
  • Примеров для запуска: 1
Что вы узнаете
  • Stepping through indexes with range(0, n, size)
  • Slicing each chunk
  • Handling the shorter last chunk
Chunks of 3 from [1 ... 7]
10
2
3
43
5
6
76

Slice every size items

Разбиение списка на небольшие группы (chunks) удобно для пакетной обработки данных, например чтобы отправлять письма группами по 100 человек или показывать данные постранично. Срезы (slicing) достают каждую очередную группу, не изменяя исходный список.

Главное

  1. range(0, len(items), 3) gives the start of each chunk: 0, 3, 6.
  2. items[i:i + 3] takes up to three items from there.
  3. The last chunk can be shorter; slicing never raises an error.

Когда это нужно?

  • Освоить синтаксис и основные понятия Python на коротких и понятных примерах.
  • Заложить прочную основу, прежде чем переходить к более сложным задачам.
  • Запускать код прямо в браузере, не устанавливая Python на компьютер.

Пример кода

Запустить код →
main.py
values = [1, 2, 3, 4, 5, 6, 7]
size = 3
# Slice one chunk at each size-aligned position.
chunks = [values[index:index + size] for index in range(0, len(values), size)]
print(chunks)
Получить кнопку запуска для этого примера

Результат выполнения

[[1, 2, 3], [4, 5, 6], [7]]

Разбор кода

Функция range(0, len(values), size) даёт начальные позиции 0, 3 и 6, отстоящие друг от друга ровно на размер группы. Для каждой позиции срез values[index:index + size] достаёт одну группу. В последней группе только один элемент, [7], и Python обрабатывает этот случай без ошибок.

Измените значения и запустите программу в онлайн-компиляторе Python CodeUtility без локальной установки Python.

Упражнения для практики

Попробуйте изменить код по подсказкам ниже. Если менять код и смотреть на результат, урок запомнится гораздо лучше, чем при простом чтении.

  1. Измените входные данные и предскажите результат до запуска.
  2. Добавьте проверку пустых или неверных данных.
  3. Вынесите обработку в отдельную функцию и проверьте её на нескольких наборах данных.
Запустить в компиляторе Python →

Попрактикуйтесь на задаче

Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.

Все задачи