У меня есть два списка с не фиксированным количеством элементов, например:
data=['sun','stars','moon','supermoon','planet','comet','galaxy']
forbidden=['mo','st','lax']
Мне нужно распечатать только те элементы data
, которые не содержат ни одной из строк, перечисленных в forbidden
.В этом случае вывод будет
sun
planet
comet
. То, что я пробовал, это
print [x for x in data if forbidden not in x ]
, которое работает только для одного условия (один элемент в списке forbidden
)
Есть ли способ проверить все условия сразу?
Если бы я знал количество элементов в forbidden
, я мог бы использовать
print [x for x in data if forbidden[0] not in x and forbidden[1] not in x]
, но он не работает с неизвестнымиколичество предметов.
Спасибо за помощь.