Чтобы удалить последовательные дубликаты в списке или строке 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