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() просто очищає список, залишаючи змінну доступною для подальшого використання з новим вмістом.

Коментарі (5)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
Semen Рівень 21
16 червня 2025
del це не метод, це по суті операція ? Він не викликається як функція? Це, аналог, скажімо, операції +, %, вірно? А, є ще якісь оператори, які описані словом?
Юрій Рівень 13
30 жовтня 2024
Не мог решить последнюю задачу. В описании задачи ошибки нашел фразу про обработку исключений. Нашел описание на стороннем ресурсе. Я про конструкцию try: except: Только с ней удалось решить задачу. Хотелось бы, что бы те конструкции, которые нужны для решения, хотя бы вскользь упоминались в учебном материале. Такое в нашем материале сплошь и рядом. И думаю, это не совсем правильно.
Андрій Рівень 6
30 листопада 2024
Ну можна перевірити довжину массиву. І якщо видаляємо за межами довжини - матюкатися.
Ростислав Рівень 22
14 лютого 2025
Дякую, задав напрямок, що саме гуглити
Дмитро Рівень 21
23 червня 2025
Вже можна не гуглити а запитати в АІ🥳