import collections


def mkparts(sequence, indices=None):
    """
    Make some parts from sequence by indices
    :param sequence: indexable object
    :param indices: index list
    :return: [seq_part1, seq_part2, ...]
    """
    indices = indices or [1]
    result_list = collections.deque()
    start = 0
    seq_len = len(sequence)
    for end in indices:
        if end < 0:
            end = seq_len + end
        if end < start:
            raise ValueError("end index is less than start index")
        result_list.append(sequence[start:end])
        start = end
    result_list.append(sequence[start:])
    return tuple(result_list)