docs: def partition(lst, n):
      """
          Divide list into n equal parts
      """
      q, r = divmod(len(lst), n)
      indices = [q*i + min(i, r) for i in xrange(n+1)]
      return [lst[indices[i]:indices[i+1]] for i in xrange(n)], \
             [list(xrange(indices[i], indices[i+1])) for i in xrange(n)]