Я пытаюсь удалить дубликаты в списке с итерацией и нарезкой (без .remove
или fromkeys
et c) и продолжаю иметь неправильный результат.
Например, теперь у меня есть список ['a', 'n', 'a', 'a', 'n']
и, выполнив следующий код, я продолжаю получать ['a', 'a', 'n']
for i in range(1, len(lst)-1):
if lst[i] == lst[0]:
lst = lst[1:]
return lst
Я думаю, что это причина: когда в списке три элемента, диапазон становится range(1, 2)
, который ничего не содержит. Но даже когда я изменяю его на
for i in range(len(lst)-1)
, который, по моему мнению, не имеет смысла и должен просто удалить все элементы, оставляя только последний ['n']
, он все равно возвращает ['a', 'a', 'n']
Кто-нибудь знает объяснение этому? Почему это кажется застрявшим в этом шаге?