如何检查两个或多个字符串中的确切子字符串

时间:2019-07-11 20:36:06

标签: python

请考虑以下两个列表

list1 = ["tom","sam","ram","omlet"]
list2 = ["com","dome","mom","omega"]

使用以下代码,每种情况下的输出均为True:

for a,b in zip(list1,list2):
    cond = "om" in (a and b)
    print(cond)

输出:

True
True
True
True

由于list1和list2中对应的元素“ sam”和“ dome”只有“ dome”具有“ om”,因此它应该满足条件吗?,但是输出为True。

如何检查条件,如果子字符串“ om”与列表的相应元素中的两个字符串完全匹配完全匹配。

预期输出:

True
False
False
True

3 个答案:

答案 0 :(得分:1)

您有:

list1 = ["tom","sam","ram","omlet"]
list2 = ["com","dome","mom","omega"]

for a,b in zip(list1,list2):
    cond = ("om" in a) and ('om' in b)
    print(cond)

输出:

True
False
False
True

答案 1 :(得分:0)

您正在使用in (a and b)做您不想要的事情-您仅在后者中检查存在性,因为(a和b)给出b。您需要:

cond = "om" in a and "om" in b

答案 2 :(得分:0)

尝试一下:

    list1 = ["tom","sam","ram","omlet"]
    list2 = ["com","dome","mom","omega"]
    for i in range(len(list1)):
        cond=("om" in list1[i]) and ("om" in list2[i])
        print(cond)

它将打印您的预期输出

True
False
False
True