Търся бърз, чист, питоничен начин за разделяне на списък на точно 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)
Тук има няколко отговора Итерация върху срезове на списък, които са много близки до това, което искам, освен те са фокусирани върху размера на списъка, а аз се интересувам от броя на списъците (някои от тях също допълват с Няма). Те са тривиално преобразувани, очевидно, но търся най-добра практика.
По същия начин хората са посочили страхотни решения тук Как се разделя списък на парчета с еднакъв размер? за много подобен проблем, но аз се интересувам повече от броя на дяловете, отколкото от конкретния размер, стига да е в рамките на 1. Отново, това е тривиално кабриолет, но търся най-добрата практика.