Разбить список на части на основе набора индексов в Python

Каков наилучший способ разбить список на части на основе произвольного числа индексов? Например. учитывая код ниже

indexes = [5, 12, 17]
list = range(20)

вернуть что-то вроде этого

part1 = list[:5]
part2 = list[5:12]
part3 = list[12:17]
part4 = list[17:]

Если индексов нет, он должен вернуть весь список.

Ответы на вопрос(9)

Ваш ответ на вопрос