Назад к вопросам
Junior
77
questionbank

В чем разница между методами remove, del и pop в Python?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

  • remove(value): Удаляет первое вхождение указанного значения из списка. Вызывает ValueError, если значение не найдено.
  • del list[index] или del list[slice]: Удаляет элемент или срез по указанному индексу (или срезу).
  • pop(index): Удаляет элемент по указанному индексу из списка и возвращает его значение. Если индекс не указан, удаляет и возвращает последний элемент. Вызывает IndexError, если индекс вне диапазона.
Метод Воздействие Возвращаемое значение Наличие по значению Наличие по индексу
remove() Изменяет список на месте None Да Нет
del Изменяет список на месте Нет Нет Да (или срез)
pop() Изменяет список на месте Удаленный элемент Нет Да

Примеры:

# remove()
my_list = [1, 2, 3, 2, 4]
my_list.remove(2) # Удалит первое вхождение 2
# my_list = [1, 3, 2, 4]
# del
my_list = [10, 20, 30, 40, 50]
del my_list[2] # Удалит элемент по индексу 2 (значение 30)
# my_list = [10, 20, 40, 50]
del my_list[1:3] # Удалит срез с индекса 1 по 2 (значения 20, 40)
# my_list = [10, 50]
# pop()
my_list = [100, 200, 300]
popped_item = my_list.pop(1) # Удалит элемент по индексу 1 и вернет его (значение 200)
# my_list = [100, 300]
# popped_item = 200
last_item = my_list.pop() # Удалит последний элемент и вернет его (значение 300)
# my_list = [100]
# last_item = 300