Причина, по которой вы не можете удалить все элементы, заключается в том, что когда вы делаете in
в списке for
цикл, он начинает цикл с первым элементом, но когда вы удаляете этот элемент и переходите к следующему элементу, вы фактически перемещаете к третьему элементу, пропустив второй элемент. Позвольте мне взять пример
list1 = [1, "one", 2, "two", 3, "three"]
На первой итерации
Текущий элемент - 1 , и после завершения первой итерации вы удаляете 1 , а текущий элемент - one , а затем переходите к следующему элементу, который на самом деле 2 и вот как вы упускаете возможность удалить один , и то же самое продолжает происходить, и, наконец, у вас остается "one", "two", "three"
.
Я знаю, что немного сбивает с толку, но, думаю, это помогает.