Удаление одинаковых элементов в списке
Например, у меня есть лист 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)