Методы Python для удаления последовательных дубликатов в списке или строке

Чтобы удалить последовательные дубликаты в списке или строке Python, вы можете использовать различные методы. Вот несколько подходов, которые вы можете рассмотреть:

Метод 1: использование цикла

def remove_consecutive_duplicates(items):
    result = []
    for item in items:
        if len(result) == 0 or item != result[-1]:
            result.append(item)
    return result

Метод 2: использование понимания списка

def remove_consecutive_duplicates(items):
    return [item for i, item in enumerate(items) if i == 0 or item != items[i-1]]

Метод 3: использование itertools.groupby

import itertools
def remove_consecutive_duplicates(items):
    return [item for item, _ in itertools.groupby(items)]

Метод 4: использование цикла while

def remove_consecutive_duplicates(items):
    result = []
    i = 0
    while i < len(items):
        if len(result) == 0 or items[i] != result[-1]:
            result.append(items[i])
        i += 1
    return result