#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]