Задача: Разбиение списка на фрагменты фиксированного размера

Опубликован: 01.11.2024 48

Условие: Напишите функцию, которая принимает в качестве параметров некоторый список (lst) и целое число (num), а возвращает двумерный список по num элементов исходного списка lst в подсписке.

Решение:

Для разбиения списка на фрагменты фиксированного размера можно воспользоваться нотацией нарезки исходного списка (lst) по (num) элементов и генератором списков List comprehention, позволяющим сократить код в одну строку.

Если исходный список окажется длинее, чем сумма его фрагментов фиксированной длины, то последний фрагмент (хвост) будет содержать меньше элементов.

# исходный список (lst) и длина подсписка (num)
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
num = 5


def chunked(lst, num):
    return [ lst[ i : i + num] for i in range(0, len(lst), num) ]


print(chunked(lst, num))
# [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14]]

Похожие посты

Задача: Решение квадратного уравнения

Задача: Тренажер таблицы умножения

Задача: Наибольший числовой палиндром

Задача: Разложение числа на простые множители

Комментариев нет.