Python Glossary English

все Python 3Списки (list)понятие

del для списка

удаление

Оператор del удаляет элемент по индексу или срез, изменяя список на месте; del lst убирает только имя, а не сам объект.

Синтаксис

del lst[i]  |  del lst[a:b]  |  del lst

del lst[i] и lst.pop(i) удаляют одно и то же, но del ничего не возвращает — берите pop, когда значение ещё нужно. del lst[a:b] режет список на месте, поэтому все другие имена, ссылающиеся на этот же список, увидят изменение, а lst = lst[:a] + lst[b:] лишь создаёт новый объект и перепривязывает имя. Отдельно del lst убирает только имя: сам объект живёт, пока на него есть другие ссылки.

Примеры

lst = [0, 1, 2, 3, 4]
del lst[2]
print(lst)
# → [0, 1, 3, 4]
del lst[1:3]
print(lst)
# → [0, 4]
lst2 = list(range(6))
del lst2[::2]
print(lst2)
# → [1, 3, 5]
lst3 = [1, 2, 3]
del lst3[:]
print(lst3)
# → [] (очистка через срез)
lst4 = [1, 2, 3]
del lst4
# NameError при обращении к lst4 после del

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности