Podziel listę na części w oparciu o zestaw indeksów w Pythonie

Jaki jest najlepszy sposób na podzielenie listy na części w oparciu o dowolną liczbę indeksów? Na przykład. podany kod poniżej

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

zwróć coś takiego

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

Jeśli nie ma indeksów, powinien zwrócić całą listę.

questionAnswers(9)

yourAnswerToTheQuestion