На основе этого вопроса.
Почему в Python нет метода list.clear ()? Я нашел здесь несколько вопросов, в которых говорится, что правильный способ сделать это один из следующих, но никто не сказал, почему для этого нет простого метода.
del lst[:]
lst[:] = []
Хотя наличие нескольких способов выполнения чего-либо может противоречить «дзену питона», мне, безусловно, кажется более очевидным наличие метода «list.clear ()». Он также будет соответствовать dicts и set, оба из которых имеют .clear ().
Я наткнулся на несколько сообщений о python-dev и python-idea по этому поводу и не пришел к окончательному ответу (см. здесь (2006 г.) и здесь (2009 г.)). Гвидо взвесил это? Это просто спорный вопрос, который не решен за последние 4-5 лет?
Обновление: list.clear () был добавлен в Python в версии 3.3 - см. здесь