Я ищу быстрый, чистый, питонический способ разделить список ровно на n почти равных разделов.
partition([1,2,3,4,5],5)->[[1],[2],[3],[4],[5]]
partition([1,2,3,4,5],2)->[[1,2],[3,4,5]] (or [[1,2,3],[4,5]])
partition([1,2,3,4,5],3)->[[1,2],[3,4],[5]] (there are other ways to slice this one too)
Здесь есть несколько ответов Итерация по фрагментам списка, которые очень близки к тому, что я хочу, за исключением они ориентированы на размер списка, и меня волнует количество списков (некоторые из них также дополняются None). Очевидно, они легко конвертируются, но я ищу передовой метод.
Точно так же люди указали здесь отличные решения Как разделить список на части одинакового размера? для очень похожей проблемы, но меня больше интересует количество разделов, чем конкретный размер, если он находится в пределах 1. Опять же, это тривиально кабриолет, но ищу передовой опыт.