def split(el, n):
    """
    Split list of elements in n approx. equal parts for multiprocessing

    Parameters
    ----------
    el : list
        List of elements to split
    n : int
        Number of lists to split input up into

    Returns
    -------
    parts : Iterable
        List of n lists of parts of the input
    """
    k, m = divmod(len(list(el)), n)
    parts = [el[i * k + min(i, m):(i + 1) * k + min(i + 1, m)] for i in range(n)]

    return parts