Разбить список на части на основе набора индексов в Python
Каков наилучший способ разбить список на части на основе произвольного числа индексов? Например. учитывая код ниже
indexes = [5, 12, 17]
list = range(20)
вернуть что-то вроде этого
part1 = list[:5]
part2 = list[5:12]
part3 = list[12:17]
part4 = list[17:]
Если индексов нет, он должен вернуть весь список.