Как удалить все дубликаты в списке Python, кроме ключевых слов в отдельном списке? - PullRequest
0 голосов
/ 27 июня 2018

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

Например:

a = ['a','a','b','b','c','c']
keywords = ['a','b']
some_func(a,keywords) = ['a','a','b','b','c']

Как я мог сделать это самым питонским способом?

1 Ответ

0 голосов
/ 27 июня 2018

Это один подход, использующий простую итерацию.

a = ['a','a','b','b','c','c']
keywords = ['a','b']

def removeDup(a, keywords):
    res = []
    for i in set(a):
        if i in keywords:
            res.extend([i]*a.count(i))
        else:
            res.append(i)
    return res
print(removeDup(a, keywords))

Выход:

['a', 'a', 'c', 'b', 'b']
  • Примечание: это может нарушить порядок вывода.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...