Как удалить элементы из списка, который содержит слова, найденные в элементах другого списка [дубликаты]

На этот вопрос уже есть ответ здесь:

Петля «забывает» удалить некоторые элементы [дубликаты] 10 ответов

Я хочу удалить элементы из списка «а» где список «б» содержит элементы со словами, найденными в списке «а»

a = ['one two three', 'four five six', 'seven eight nine']
b = ['two', 'five six']

Результат должен быть:

a = ['seven eight nine']

Это потому что словадва' а также 'пять шесть' находятся в списке в списке «а».

Вот как я пытался это решить:

for i in a:
    for x in b:
        if x in i:
            a.remove(i)

Это возвращает:

print a
['four five six', 'seven eight nine']

Почему это не работает, и как я могу решить эту проблему?

Благодарю.

Ответы на вопрос(4)

Ваш ответ на вопрос