Написать функцию, которая:
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):
Текст задания продублирован в файле
Наталья
Московский Энергетический Институт
Мне срочно нужно было решить задание, и Alex превосходно справился и очень выручил! Не смо...
Екатерина
МАИ
Огромное спасибо за помощь и все ответы и за то что были терпеливы со мной) Огромное спасибо.
Sergey
ДГТУ
Работа выполнена очень качественно, с красивым почерком и очень быстро, меньше чем за день...
Kazuyzuylya
Тверской государственный технический универстет
Красавец! Огромная скорость выполнения работы! Сделал все без ошибок и недочетов!!! Огромн...