remove(value)
: Удаляет первое вхождение указанного value
из списка. Если значение не найдено, вызывает исключение ValueError
. Возвращает None
.pop(index)
: Удаляет элемент по указанному index
из списка и возвращает этот элемент. Если index
не указан, удаляет и возвращает последний элемент списка. Если index
находится вне границ списка, вызывает исключение IndexError
.Ключевые отличия: remove
удаляет по значению, pop
- по индексу. pop
возвращает удаленный элемент, remove
- нет.
Методы remove()
и pop()
используются для удаления элементов из списка в Python, но делают это разными способами и возвращают разные результаты:
remove(element)
:
element
из списка.ValueError
.Пример:
my_list = [1, 2, 3, 2]
my_list.remove(2)
print(my_list) # Вывод: [1, 3, 2]
pop(index)
:
index
(индексу) из списка.index
< 0 или index
>= len(my_list)), возникает исключение IndexError
.index
не указан, то удаляет и возвращает последний элемент списка.Пример:
my_list = [1, 2, 3]
removed_element = my_list.pop(1)
print(my_list) # Вывод: [1, 3]
print(removed_element) # Вывод: 2
my_list = [1, 2, 3]
removed_element = my_list.pop() # без аргументов удаляет последний элемент
print(my_list) # Вывод: [1, 2]
print(removed_element) # Вывод: 3
Ключевые различия:
remove()
удаляет по значению, а pop()
удаляет по индексу.remove()
ничего не возвращает (None
), а pop()
возвращает удалённый элемент.remove()
вызывает ValueError
, если элемент не найден, а pop()
вызывает IndexError
, если индекс некорректен.В общем, используйте remove()
, когда знаете, *что* хотите удалить, и pop()
, когда знаете, *где* находится элемент, который хотите удалить, или просто хотите удалить и получить последний элемент.