[Python] Проверьте, содержит ли какая-либо строка в списке какую-либо строку в другом списке - PullRequest
2 голосов
/ 25 апреля 2020

Я пишу скрипт для новостей Google.

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

Например,

newstitle =['Python is awesome', 'apple is tasty', 'Tom cruise has new movie']
tag = ['Python','Orange', 'android']

Если в новостном заголовке есть какие-либо ключевые слова в теге, я хочу, чтобы он возвращал значение True.

Я знаю, как сделать это с одним тегом, используя

any('Python' in x for x in newstitle)

Но как сделать это с несколькими ключевыми словами? А если l oop выполнимо, но кажется глупым.

Пожалуйста, помогите. Заранее спасибо.

1 Ответ

4 голосов
/ 25 апреля 2020

Приведенный ниже код должен обеспечить требуемое:

any(t in x for x in newstitle for t in tag)

Из документов :

Понимание списка состоит из скобки, содержащие выражение, за которым следует предложение for, затем ноль или более для предложений if или if. Результатом будет новый список, полученный в результате оценки выражения в контексте предложений for и if, которые следуют за ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...