Это фактически удаляет содержимое из списка, но не заменяет старый ярлык новым пустым списком:
del lst[:]
Вот пример:
lst1 = [1, 2, 3]
lst2 = lst1
del lst1[:]
print(lst2)
Ради полноты назначение среза имеет тот же эффект:
lst[:] = []
Он также может использоваться для сокращения части списка при одновременной замене части (но это выходит за рамки вопроса).
Обратите внимание, что выполнение lst = []
не очищает список, а просто создает новый объект и связывает его с переменной lst
, но старый список будет по-прежнему иметь те же элементы, и эффект будет очевиден, если у него был другой Переменные привязки.