Я не знаю, что не так
Линия numbers = trash
не делает то, что вы хотите.Вместо очистки списка он просто сделает numbers
синонимом trash
.Это означает, что в следующий раз, когда вы сделаете numbers.append(current)
, вы фактически добавите это значение в список trash
.
Посмотрите на этот упрощенный код и комментарии:
trash = []
numbers = []
numbers.append(1) # adds to numbers, not to trash
numbers = trash # now both names are synonyms for the same list; currently empty
numbers.append(2) # adds to trash(!)
numbers = trash # this was already the case: does not do anything
print(numbers, trash) # [2] [2]
Вы должны просто сделать numbers = []
вместо numbers = trash
.Кроме того, вы можете придерживаться того же списка и обрезать его с помощью del numbers[:]
или numbers.clear()