Как удалить повторяющиеся элементы внутри списка

У меня есть список [0,0,1,1,2,2,2,0,0,1,1]. Я хочу удалить повторяющиеся элементы, но с сохранением того же порядка, например [0,1,2,0,1]

Мне нужна помощь, пожалуйста!

2 ответа

Переберите элементы и проверьте, отличается ли текущий от последнего, если он добавлен:

lst = [0,0,1,1,2,2,2,0,0,1,1]

def remove_duplicates(lst):
    if not lst:
        return []
    last_element = lst[0]
    no_dup = [last_element]
    for i in range(1, len(lst)):
        if lst[i] != last_element:
            no_dup.append(lst[i])
        last_element = lst[i]
    return no_dup

# [0, 1, 2, 0, 1]
print(remove_duplicates(lst))

Вот простой способ, просто используйте функцию set() из Python:

mylist = ["a", "b", "a", "ce", "c"]
mylist = list(set(mylist))
print(mylist)
Другие вопросы по тегам