Есть ли способ проверить, содержат ли строки в списке какие-либо подстроки из другого списка? - PullRequest
0 голосов
/ 25 января 2019

У меня есть два списка строк, list_1 и list_2.

list_1 = ["Hello", "Hi", "Hey"]
list_2 = ["Hello, my name in John.", "Hi, my name is John.", "Hey, my name 
           is John.", "My name is John."]

Я хочу проверить, содержится ли какая-либо из строк в list_1 в какой-либо из строк в list_2, таким образом, что возвращаетсястроки в list_2, для которых это верно.Есть ли хороший способ сделать это?

1 Ответ

0 голосов
/ 25 января 2019

Вы можете использовать функцию any с выражением генератора в качестве условия фильтра для понимания списка:

[s for s in list_2 if any(k in s for k in list_1)]

Возвращает:

['Hello, my name in John.', 'Hi, my name is John.', 'Hey, my name is John.']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...