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

2024-10-04 11:30:38 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑以下两个列表

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

对于以下代码,输出对于每种情况都是真的:

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

输出:

True
True
True
True

由于列表1和列表2中对应的元素“sam”和“dome”只有“dome”有“om”,因此它应该不满足条件?,但输出为真

如何检查子字符串“om”是否与列表相应元素中的两个字符串完全匹配

预期产出:

True
False
False
True

Tags: 字符串infalsetrue元素列表samram
3条回答

你正在用in (a and b)做一些你不想做的事情——你只在后者中检查存在,因为(a和b)给出了b。你需要:

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

给你:

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

试试这个:

    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

相关问题 更多 >