постепенное удаление элементов из списка

#python #list

#python #Список

Вопрос:

У меня есть список чисел с плавающей запятой, и я хотел бы постепенно удалять набор элементов в заданном диапазоне индексов, sth. Нравится:

 for j in range(beginIndex, endIndex 1):
   print ("remove [%d] => val: %g" % (j, myList[j]))
   del myList[j]
  

Однако, поскольку я выполняю итерацию по одному и тому же списку, индексы (диапазон)
больше не допустимы для нового списка.
У кого-нибудь есть предложения о том, как удалить элементы
правильно?

С наилучшими пожеланиями

Ответ №1:

Вам действительно нужно удалять их постепенно?

Если нет, вы можете сделать это следующим образом:

 del myList[beginIndex:endIndex 1]
  

Ответ №2:

Вы можете выполнить итерацию от конца к началу последовательности:

 for j in range(endIndex, beginIndex-1, -1):
    print ("remove [%d] => val: %g" % (j, myList[j]))
    del myList[j]
  

Ответ №3:

Что-то вроде этого?

 >>> list1 = [1,2,3,4,5,6]
>>> start, end = 2, 4
>>> list1[:start]   list1[end:]
[1, 2, 5, 6]