У меня есть список, подобный следующему
a = [5,5,5,5,3,3,2,2,2,2,5,5,5,2,2,2,2,2]
Я хочу получить следующий список вывода
b = [5,3,2,5,2]
Обратите внимание, что я пытался использовать
list(OrderedDict.fromkeys(a))
который дает мне
[5, 3, 2]
Обратите внимание, что он не учитывает 2-й 5 или 2-й 2, поскольку они к тому времени не являются уникальными.
Мне нужен способ, чтобы машина понялачто, когда он встречает уникальный элемент (скажем, первый «5»), он должен хранить его в списке b. Следовательно, когда он встречает первое «3» или первое «2», он должен также сохранить их в списке b. Нет проблем до этого момента. Когда он встречает второй набор '5', он должен сохранить это 5 как новый элемент в списке b. То же самое касается второго набора 2-х.
Есть ли Pythonic способ сделать это?