Удаление элементов списка по срезу с указанным шагом
В результате произойдет удаление элементов последовательности sequence от индекса i до индекса j с шагом k .
Больше об индексации среза с заданным шагом читайте в операции получения среза последовательности с заданным шагом и смотрите встроенную функцию slice()
Замечания по удалению среза последовательности с указанным шагом будут такие же, как при удалении среза последовательности без шага
Примеры удаления части списка операцией среза с шагом.
>>> x = [1, 4, 7, 10, 13, 16, 19] >>> del x[1:6:2] >>> x # [1, 7, 13, 19] >>> x = [1, 4, 7, 10, 13, 16, 19] # индекс j выходит за пределы последовательности >>> del x[:11:3] >>> x # [4, 7, 13, 16] # Cрез выходит за пределы последовательности >>> del x[11::3] >>> x # [4, 7, 13, 16] # Индексы и шаг опущены >>> del x[::] >>> x # []
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Изменение/замена элемента списка по индексу
- Изменение части списка операцией среза
- Изменение списка срезом c заданным шагом
- Удаление части списка операцией среза
- Удаление части списка по срезу с заданным шагом
- Метод list.append(), добавляет значение в конец списка
- Метод list.clear(), очищает список
- Метод list.copy(), копия списка
- Метод list.extend(), расширяет список другой последовательностью
- Расширение списка его содержимым
- Метод list.insert(), вставить элемент по индексу
- Метод list.pop(), получение с удалением элемент списка
- Метод list.remove(), удаление элемента списка по значению
- Метод list.reverse(), разворачивает элементы списка
- Удаление элемента списка по индексу
- Удаление дубликатов из списка Python с сохранением очередности
Удаление части элементов списка по срезу
В результате произойдет удаление элементов последовательности sequence от индекса i до индекса j . Операция удаления элементов среза последовательности эквивалентна выполнению sequence[i:j] = [] .
Больше об индексации среза читайте в операции получения среза последовательности и смотрите встроенную функцию slice()
Замечания по операции удаления среза последовательности:
Если индекс j указанного среза выходит за пределы индексации последовательности sequence — j > len(sequence) , то в результате операции произойдет удаление элементов от индекса i последовательности до ее конца.
Если оба индекса указанного среза i > len(sequence) и j > len(sequence) — выходят за пределы индексов последовательности, то в результате операции удаления, последовательность sequence не изменится.
Если индексы указанного среза i и j опущены, то в результате произойдет удаление всей последовательности.
Примеры удаления части элементов списка срезом.
>>> x = [1, 4, 7, 10, 13, 16, 19] >>> del x[1:4] >>> x # [1, 13, 16, 19] # индекс j выходит за пределы последовательности >>> x = [1, 4, 7, 10, 13, 16, 19] >>> del x[5:20] >>> x # [1, 4, 7, 10, 13] # Cрез выходит за пределы последовательности >>> del x[20:] >>> x # [1, 4, 7, 10, 13] # Индексы опущены >>> del x[:] >>> x # [] # Вложенные последовательности >>> x = [[1, 4, 7, 10], [13, 16, 19]] >>> del x[0][1:4] >>> x # [[1], [13, 16, 19]]
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Изменение/замена элемента списка по индексу
- Изменение части списка операцией среза
- Изменение списка срезом c заданным шагом
- Удаление части списка операцией среза
- Удаление части списка по срезу с заданным шагом
- Метод list.append(), добавляет значение в конец списка
- Метод list.clear(), очищает список
- Метод list.copy(), копия списка
- Метод list.extend(), расширяет список другой последовательностью
- Расширение списка его содержимым
- Метод list.insert(), вставить элемент по индексу
- Метод list.pop(), получение с удалением элемент списка
- Метод list.remove(), удаление элемента списка по значению
- Метод list.reverse(), разворачивает элементы списка
- Удаление элемента списка по индексу
- Удаление дубликатов из списка Python с сохранением очередности
Метод remove
Метод remove удаляет указанный элемент из списка. В параметре метода задается элемент, который нам нужно удалить. Метод изменяет сам список. В качестве результата возвращается None . Попытка удалить несуществующий элемент приведет к выбрасыванию исключения.
Синтаксис
список.remove(что хотим удалить)
Пример
Давайте удалим элемент ‘ef’ из нашего списка с помощью метода remove :
lst = [‘ab’, ‘cd’, ‘ef’, ‘gh’] lst.remove(‘ef’) print(lst)
Результат выполнения кода:
Пример
А теперь давайте попробуем удалить элемент, которого нет в списке:
lst = [‘ab’, ‘cd’, ‘ef’, ‘gh’] lst.remove(’12’) print(lst)
Результат выполнения кода:
Traceback (most recent call last): File «C:\python\file.py», line 2, in
Смотрите также
- метод clear ,
который удаляет все элементы списка - метод pop ,
который удаляет элемент по его индексу - метод append ,
который добавляет элемент в конец списка
Удаление части списка
Я хочу удалить участок списка,а точнее все элементы с начала списка, пока я не наткнусь на присутствие ‘ ‘ в обьекте списка, но у меня не выходит:
j=['123','321','hhh','awdawdawd','s','ggg'] for i in range(len(j)-1): if '
' in j[i]: j.pop(i) break j.pop(i) print(j)
Отслеживать
задан 19 июл 2022 в 14:24
165 8 8 бронзовых знаков
Возможный дубликат вопроса: Удаление элементов в списке словарей
19 июл 2022 в 14:27
Нет, как я понял там есть конкретные элементы, которые не нужны, а мне нужно останавливать цикл, если есть в тексте
, например a,b,c,d,e
,g — мне нужно удалить все, кроме g
19 июл 2022 в 14:29
разумеется, там не абсолютно тот же пример, но почему, по-вашему, у вас не выходит?
19 июл 2022 в 14:31
У меня всегда разный список и
идет в перемешку с текстом.
19 июл 2022 в 14:33
Покажите, какой должен быть результат для вашего примера.
19 июл 2022 в 16:34
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Можно еще так сделать
for i in range(len(j)): if '' in j[i]: j = j[i+1:] break
Т.е. при нахождении нужных символов в элементе, просто обрезаем начало исходного списка до элемента, следующего за текущим, и прерываем цикл, т.к. условие поиска выполнено. И не нужно использовать дополнительный список.