Как упоминалось в других ответах, это то, что даст вам правильный ответ, если вы хотите обнаружить подстроки:
any(s in sentence1.lower() for s in substring)
Однако, если ваша цель - найти слова вместо подстрок, это неверно , Рассмотрим:
sentence = "This is an aircraft"
words = ["air", "hi"]
any(w in sentence.lower() for w in words) # True.
Слова "air"
и "hi"
не входят в предложение, но в любом случае оно возвращает True
. Вместо этого, если вы хотите проверить слова, вы должны использовать:
any(w in sentence.lower().split(' ') for w in words)