Есть ли способ использовать методы списка в python для фильтрации дубликатов рядом из списка?
Вот пример того, что я имею в виду:
>>> xs = [1,2,2,3]
>>> print added.reAdj(xs)
[1,2,3]
Поиск через SE показал более ранний запрос, задав аналогичный, но немного другой вопрос: можно ли удалить все дубликаты из списка, , но явно не спрашивая для решений, включающих понимание списков. Мотивация использования списков заключается в признании их преимуществ перед традиционными для петель. Пользователи предложили использовать функцию set() или стандартную петлю как таковую:
result = []
most_recent_elem = None
for e in xs:
if e != most_recent_elem:
result.append(e)
most_recent_elem = e
Предложение set()
не отвечает задачам в том, что несмежные дубликаты удаляются, а цикл эффективен, но многословно.
Кажется, это средство для безопасного ссылки на следующий элемент в понимании списка, как это необходимо.
[x for x in xs if x != **x.next()**]
Любые идеи?