Написать функцию, которая:
1) принимает на вход итерируемый объект (list, tuple, np.array и т.п.) и число N - кол-во частей, на которые нужно разделить исходный итерируемый объект;
2) возвращает на выходе список из N-частей исходного итерируемого объекта.
Ограничения на результат:
1) Типы элементов, которые хранится внутри исходного итерируемого объекта, не должны измениться в результирующем списке:
[[1,'a','b'], [2, 'c', 'd'], [3, 'e', 'f']], N=2 -> [[1, 'a', 'b'], [2, 'c', 'd']], [[3, 'e', 'f']] - хорошо
[[1,'a','b'], [2, 'c', 'd'], [3, 'e', 'f']], N=2 -> [['1', 'a', 'b'], ['2', 'c', 'd']], [['3', 'e', 'f']] - плохо
2) Элементы исходного итерируемого объекта должны быть максимально равномерно распределены между частями:
[1,2,3,4,5,6,7,8,9], N=4 -> [[1,2,3], [4,5], [6,7], [8,9]] - хорошо
#[1,2,3,4,5,6,7,8,9], N=4 -> [[1], [2,3], [4,5,6], [7,8,9]] - плохо
[1,2,3,4,5,6,7,8,9, 10], N=4 -> [[1,2,3], [4,5, 6], [7,8], [9, 10]] - хорошо
[1,2,3,4,5,6,7,8,9, 10], N=4 -> [[1,2,3], [4,5, 6], [7,8,9], [10]] - плохо
3) Разбиение должно сохранить порядок следования элементов в исходном списке
[1,2,3,4,5,6,7,8,9], N=4 -> [[1,2,3], [4,5], [6,7], [8,9]] - хорошо
[1,2,3,4,5,6,7,8,9], N=4 -> [[1,4,8], [2,5], [3,6], [7,9]] - плохо
def split_list(data, N):
Текст задания продублирован в файле
Серафим
ВУЗ
Работа выполнена очень качественно! Очень грамотный специалист, рекомендую! Обращаюсь не в...
Александр
МЭИ
Исполнитель молодец! Срок на выполнение ставил неделю, исполнитель справился за день. За к...
Анна
Горный
Быстро, оперативно,аккуратно выполнена работа. Павел очень быстро отвечает на сообщения, о...
Антон
ИрНИТУ (бывш. ИрГТУ)
Решение внятное, выполнение заказа прошло настолько быстро, будто исполнитель решил его за...