Удаление одинаковых элементов в списке

Например, у меня есть лист x = [a, a, a, a, f, h, k, k, k, k]. Мне надо сделать, что бы в этом листе было только два a и три k, т.е. удалить лишние похожие элементы, остальные не трогать. Чтоб было так: x = [a, a, f, h, k, k, k]


Ответы (2 шт):

Автор решения: gelmutdm

Если Вам нужно выбрать уникальные значения из списка, можете воспользоваться этим кодом:

def unique_list(items):
    x = []
    for a in items:
        if a not in x:
            x.append(a)
    return x

print(unique_list([1,2,3,3,3,3,4,5]))
# Выйдет: 12345
→ Ссылка
Автор решения: splash58

сделайте словарь с разрешенным количеством повторов символа и проверяйте, то в результате их не больше

d = {'a':2, 'k':3}
x = ['a', 'a', 'a', 'a', 'f', 'h', 'k', 'k', 'k', 'k']
res = []

for i in x :
   if res.count(i) < d.get(i, len(x)) :
      res.append(i)
print(res)
→ Ссылка