Добавлять значение в список, только если это не произошло ранее - PullRequest
0 голосов
/ 16 января 2020

У меня есть список строк. Я пытаюсь добавить значения в новый список, но только те значения, которые не являются последовательными.

как, например,

Если у меня есть такой список,

['a', 'a', 'a', 'b', 'b', 'a']

Мне нужен вывод, как

['a', 'b', 'a']

Ответы [ 2 ]

3 голосов
/ 16 января 2020

Использование itertools.groupby

Пример:

from itertools import groupby

data = ['a', 'a', 'a', 'b', 'b', 'a']
print([k for k, _ in groupby(data)])
# --> ['a', 'b', 'a']
1 голос
/ 16 января 2020

Вы можете использовать zip_longest из itertools и сравнить со следующим элементом в списке:

from itertools import zip_longest

a = ['a', 'a', 'a', 'b', 'b', 'a']

b = [i for i,j in zip_longest(a,a[1:]) if i!=j]
print(b)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...