请考虑以下两个列表
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
答案 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