У меня есть два python списков match1
и match2
match1
= ['Submit' , 'paper' , 'error' , 'code' , 'notcomplete' , 'next']
match2
= ['Submit' , 'paper' , 'error' , 'code' , 'blocked', 'paper' , 'next']
Сейчас , Я использовал __ contains __
, чтобы найти общие слова между match1
и match2
common = filter(set(match1).__contains__,match2)
print(list(common))
Это дало мне следующий результат
['Submit' , 'paper' , 'error' , 'code' , 'paper' , 'next']
Слово paper
во втором списке снова совпало со словом paper
в первом списке.
Есть ли способ избежать этого и получить следующий вывод?
['Submit' , 'paper' , 'error' , 'code' , 'next']
Изменить:
Порядок в списке важен. Вот почему я использовал __ contains __, а не пересечение.
Меня не беспокоит наличие повторяющихся записей в списке общих слов. Я пытаюсь избежать повторного сопоставления одной и той же записи в match1
с другой записью в match2
. Если бы в обоих списках было два 'paper'
, я бы взял их в общем списке как отдельные записи.