Yields the list with a max total size of max_num_chunks

def split_into(max_num_chunks, list_to_chunk):
    """
    Yields the list with a max total size of max_num_chunks
    """
    max_chunk_size = math.ceil(len(list_to_chunk) / max_num_chunks)
    return chunks_of(max_chunk_size, list_to_chunk)