Python 2.7 用python将句子列表与另一个列表匹配

Python 2.7 用python将句子列表与另一个列表匹配,python-2.7,Python 2.7,我有如下所示的两个列表。基本上,我想将list1中的项目与list2中的项目进行匹配,这会忽略list2中句子前后的所有内容 例如,list1中的元素“Jill是一个非常好的女孩”与list2匹配“她是第一位的,因为Jill是一个非常好的女孩””,我想忽略“她是第一位的,因为”。因此,如果list1位于list2中,则表示TrueelseFalse list1 = [ "Jill is a very good girl", "John is a very good boy"] 第二个列表如下所

我有如下所示的两个列表。基本上,我想将
list1
中的项目与
list2
中的项目进行匹配,这会忽略
list2
中句子前后的所有内容

例如,
list1
中的元素“Jill是一个非常好的女孩”与
list2
匹配“她是第一位的,因为Jill是一个非常好的女孩””,我想忽略“她是第一位的,因为”。因此,如果
list1
位于
list2
中,则表示
True
else
False

list1 = [
"Jill is a very good girl",
"John is a very good boy"]
第二个列表如下所示:

list2 = [
"John is a very good boy but he is naughty",
"John is a very good boy but he doesn't sleep",
"He eats a lot but John is a very good boy",
"Every girl is naughty but Jill is a very good girl",
"She comes first because Jill is a very good girl"]

您可以尝试以下逻辑:-

def special_list_in(list1, list2):
    flag = True
    for sentList1 in list1:
        temp_flag = False;
        for sentList2 in list2:
            if sentList1.lower() in sentList2.lower():
                temp_flag = True;
                break;
        flag = flag and temp_flag
    return flag

special_list_in(list1, list2)

如果您要求字符串匹配应区分大小写,请删除
.lower()

检查这段代码:

list1=[“B”,
“A”]
列表2=[“ABC”,
“AB”,
“AA”,
“共同国家评估”,
“BA”]
def检查_匹配(列表_1、列表_2):
对于列表_2中的句子_2:
结果=[]
对于列表_1中的句子_1:
如果第2句中的第1句:
result.append(True)
打破
如果没有结果:
返回错误
返回真值
打印检查与匹配(列表1、列表2)

请注意,如果从
CCA
(列表2的第四个元素)中删除
A
,它将开始返回
False
。您可以使用列表中的字符串测试此函数。

嘿,您尝试了什么?我尝试了一个简单的列表1与列表2的匹配。我的问题是其他字符串,它们在我的匹配阶段产生了问题。这意味着我不能像列表1中的I那样进行简单的匹配,如果列表2中的列表1打印“True”,否则打印“False”。我希望你明白了,我不明白。我,我想看看你的密码。也许我们可以确定你们的出发点。@fear\u matrix,你们能检查一下这是否解决了你们的问题吗?