def split_by_list(s, intlist):
    """
    Split iterable by a list of indices
    :param s: iterable
    :param intlist: list of indices
    :return: list of splitted parts
    """
    res = []
    points = [0] + intlist + [len(s)]
    for i in range(len(points)-1):
        res.append(s[points[i]:points[i+1]])
        points[i+1] += 1
    return res