Работайте наоборот; вместо выбора несмежного диапазона удалите непрерывный диапазон, который вы не хотите. Вы просто хотите получить исходные list
минус индексы 4-6 (включительно), поэтому скопируйте свои list
, а затем del
индексы, которые вам не нужны:
mylist = [1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5]
trimmed = mylist[:]
del trimmed[4:7]
print(trimmed)
В качестве альтернативы, вы можете использовать operator.itemgetter
для получения указанных вами индексов, например ::
from operator import itemgetter
mylist = [1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5]
print(itemgetter(0, 1, 2, 3, 7, 8)(mylist))
itemgetter
из нескольких значений выведет tuple
, поэтому, если вас это беспокоит, вам придется преобразовать обратно в list
, например. print(list(itemgetter(0, 1, 2, 3, 7, 8)(mylist)))
(и обратите внимание, что выбор изменить имя переменной на mylist
позволило получить доступ к конструктору list
, что было бы невозможно, если бы вы назвали свою переменную list
).