JavaRush /Курсы /Модуль 1: Python Core /Удаление элементов

Удаление элементов

Модуль 1: Python Core
5 уровень , 4 лекция
Открыта

5.1 Методы remove() и pop()

Удаление элементов из списка в Python можно осуществить различными способами, что делает этот язык программирования особенно гибким в управлении коллекциями данных.

Метод remove()

Метод remove() удаляет первое вхождение указанного элемента из списка. Если элемент не найден, Python выдаст ошибку ValueError.

Примеры:


my_list = ['apple', 'banana', 'cherry']
my_list.remove('banana')
print(my_list)  # Выведет ['apple', 'cherry']

Если в списке несколько элементов, то будет удален первый из них:


my_list = ['apple', 'banana', 'cherry', 'apple', 'banana', 'cherry']
my_list.remove('banana')
print(my_list)  # Выведет ['apple', 'cherry', 'apple', 'banana', 'cherry']

Если элемент не найден, будет выдана ошибка ValueError:


my_list = ['apple', 'cherry']
my_list.remove('banana')  # ValueError: list.remove(x): x not in list

Метод pop()

Метод pop() удаляет элемент по указанному индексу и возвращает его.


my_list = [1, 2, 3, 4, 5]
popped_element = my_list.pop(2)
print(popped_element)  # Выведет 3 
print(my_list)  # Выведет [1, 2, 4, 5] 

Если индекс не указан, то pop() удаляет и возвращает последний элемент списка.


my_list = [1, 2, 3, 4, 5]
popped_element = my_list.pop()
print(popped_element)  # Выведет 5 
print(my_list)  # Выведет [1, 2, 3, 4] 

Методы append() и pop() позволяют просто реализовать стек на основе списка.

5.2 Оператор del

Оператор del в Python является мощным инструментом для управления списками, особенно когда нужно удалить один или несколько элементов сразу, или даже весь список. Он не только удаляет элементы, но и освобождает память, что может быть полезно при работе с большими данными.

Удаление отдельных элементов

С помощью оператора del можно легко удалить элемент из списка по его индексу. Это делается путём указания индекса или диапазона индексов после ключевого слова del:


numbers = [10, 20, 30, 40, 50]
del numbers[2]  # Удаляет элемент 30
print(numbers)  # Выведет [10, 20, 40, 50]

Удаление срезов списка

Оператор del также может быть использован для удаления среза списка, что позволяет убрать сразу несколько элементов:


numbers = [10, 20, 30, 40, 50]
del numbers[1:3]  # Удаляет элементы с индексами 1 и 2
print(numbers)  # Выведет [10, 40, 50]

Удаление целого списка

Если необходимо полностью удалить список, del может справиться и с этим:


numbers = [10, 20, 30, 40, 50]
del numbers

После выполнения этой команды переменная numbers больше не будет доступна, так как del полностью удаляет объект из памяти.

Влияния на память

Использование del для управления списками особенно важно в приложениях, где управление памятью критично. При удалении элементов или списков с помощью del освобождается память, что может улучшить производительность и предотвратить утечки памяти в крупных или долгоживущих Python-приложениях.

5.3 Метод clear()

Метод clear() в Python используется для удаления всех элементов из списка, оставляя его пустым. Это простой и эффективный способ очистить список, особенно когда необходимо переиспользовать уже существующий список для новых данных, избегая создания нового объекта.


my_list = [1, 2, 3, 4, 5]
my_list.clear()
print(my_list)  # Выведет []

В отличие от удаления списка с помощью del, который удаляет саму переменную, clear() просто очищает список, оставляя переменную доступной для дальнейшего использования с новым содержимым.

2
Задача
Модуль 1: Python Core, 5 уровень, 4 лекция
Недоступна
Первый на выход
Первый на выход
2
Задача
Модуль 1: Python Core, 5 уровень, 4 лекция
Недоступна
Удаление элемента
Удаление элемента
Комментарии (33)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
20 августа 2026
del не является оператором. Это инструкция. Исправьте пожалуйста
Алексей Тумель Уровень 21
3 мая 2026
где указано, что сообщение программа должна выдавать на русском языке при том, что у меня в настройках JR указан english ?
X1os1 Уровень 15
4 февраля 2026
я не понял, тут же в первой задаче нельзя использовать remove потому что если в списке не будет элемента который ввел пользователь то тогда код не будет работать
Никита Нягу Уровень 9
28 апреля 2026
добавь myinput in mylist проверку
Иван Уровень 48
16 декабря 2025

sp = list(map(str,range(5)))
if -len(sp)<=(i:=int(input()))<len(sp):
    d = sp.pop(i)
    print(sp, d)
else:
    print('индекс не существует')
Ruslan L Уровень 1
17 ноября 2025
def my_list(): elements = list(range(1, 6)) element = int(input("Введите индекс элемента: ")) if 0 <= element <= 4: popped_element = elements.pop(element) print(popped_element) print(elements) else: print("Некорректный индекс.") my_list()
Александр Уровень 22
23 октября 2025
l = list(range(5)) try: print(l.pop(int(input('Индекс: ')))) print(l) except (ValueError, IndexError) as e: print('индекс не существует')
Energylife Djida Уровень 9
22 октября 2025
my_list = [i for i in range(1, 6)] try: dell_element = int(input("Choose index 1, 2, 3, 4, 5: ")) poped = my_list.pop(dell_element - 1) print(poped) except ValueError: print("Choose index 1, 2, 3, 4, 5") except IndexError: print("Error you index, pls enter index (1-5)") print(f"New list: {my_list}")
Iwan_Halliday Уровень 1
9 сентября 2025
ОНО МЕНЯ ЕЩЕ И ЦЕНЗУРИРУЕТ!!!! XDDDDD Сообщение об ошибке должно быть более информативным и корректным, например, 'Индекс не существует'.
Iwan_Halliday Уровень 1
9 сентября 2025
Возмущённо накатал комментарий что это всё херня "Проверка на существование индекса должна учитывать, что индекс может быть равен длине списка или отрицательным. Используйте условие if index >= len(my_list) or index < 0: для корректной проверки." А потом понял что len() возвращает количество элементов, а не наибольший индекс =))))
23 июля 2025
простое решение - самое верное :)