Разработать функцию clean_list (list_to_clean),
которая принимает 1 аргумент - список любых значений (строк, целых и действительных чисел) произвольной длины,
и возвращает список, состоящий из тех же значений, но не содержит повторов элементов. Это значит, что в случае наличия значения в первоначальном списке в нескольких экземплярах первый “экземпляр” значение остается на своем месте, а второй, третий и др. удаляются.
Я подумал решить ее с помощью циклов, или точнее цикла в цикле, как правильно это реализовать я не знаю
вот мой набросок :
def clean_list(list_to_clean = [1, 1.0, '1', -1, 1]): ind1 = 0 #индекс елемента с которым сравнивают lent = len(list_to_clean) # на всякий случай длина списка for i in range(lent-1): # (lent-1) потому что последний елемент и так сравниm со всеми елементами elem = list_to_clean[ind1] # тут я создал переменную которая хранит в себе елемент с корым сравнивают for i in list_to_clean[ind1+1:]: # тут список начинается сразу после елемента с корым сравнивают и до конца if elem == list_to_clean[ind1+1]: # проверка совпадает ли переменная с елементом \ del list_to_clean[ind1+1] # если совпадает то удаляем этот елемент ind1 = ind1 + 1 # повишаем сравниваемый елмент на один ind1 = ind1 + 1 # повышаем елемент с короым сравниваем на один return list_to_clean
если пытаться объяснить, то я хотел что бы сравнивалось как то так, числа это индексы списка
[0] == [1, 2, 3, 4] [1] == [2, 3, 4] [2] == [3, 4] ....
и где ошибка даже не знаю, или где правильно сделал тоже, прошу вашей помощи