有没有一种方法来检查列表中的字符串是否包含另一个列表中的任何子字符串?

时间:2019-01-25 11:41:04

标签: python list

我有两个字符串列表,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 :(得分:1)

您可以将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.']