Я хочу удалить разделы по индексу из списка. т.е. из индекса 12:90 и индекса 100: 120 и т. д.Удаление нескольких разделов из списка с использованием индексов
Я знаю, что я не могу изменить список. Я перебираю цикл, если я повторяю от начала до конца списка, поэтому я попытался выполнить цикл из конец списка до начала. Это не работает, так как я не могу получить доступ к различным элементам моего перевернутого списка.
Это мой текущий код тест, который я думаю, это очевидно, что я хочу, чтобы это произошло, но у меня есть сообщение об ошибке: TypeError: 'reversed' object has no attribute '__getitem__'
a = [5,7,23,5,2,6,2,7,98,3]
indexs = 0,2,5,7
widened_excluder = reversed(indexs)
for i in widened_excluder:
if i != len(indexs)-1:
start = widened_excluder[i+1]
end = widened_excluder[i]
del a[start:end]
Edit: Это функция, я использую (если с использованием реальных данных), чтобы получить диапазоны я хочу исключенные:
def zero_excluder(curve, lnO, ts):
indexs = curve.nonzero()
indexs = indexs[0]
zero_gap = []
for i in indexs:
if i > 5 and i < len(indexs) - 6:
if indexs[i] - indexs[i-1] > 2:
zero_gap.append([indexs[i-6], indexs[i+5]])
for pair in zero_gap:
start = pair[0]
end = pair[1]+1
del
lnO = lnO[indexs]
ts = ts[indexs]
return lnO, ts
Как вы получаете диапазоны для индексов вы не хотите? Приходят ли они из пользователя или у вас есть набор диапазонов, которые, как вы знаете, вам не нужны? – IanAuld
У меня есть другая функция, которая дает мне диапазон. Теперь я добавлю код в качестве редактирования вопроса. –
Полностью в стороне, но множественное число индекса - это индексы. Извините, но это сводит меня с ума :-). – IanAuld