indexes = [5, 12, 17]
list = list(range(20))
output = []
prev = 0
for index in indexes:
    output.append(list[prev:index])
prev = index
output.append(list[indexes[-1]:])
print(output)
Разделить список на части на основе набора индексов в Python