Я ищу быстрый, чистый, pythonic способ разделить список на ровно 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. Опять же, это тривиально конвертируемо, но я ищу наилучшую практику.