[英]Validating values present in Python List using in operator
我在下面编写了简单的代码来检查 Python 列表(unique_status)中存在的值:
if "Match" in unique_status and "Mismatch" in unique_status:
print("Match and Mismatch both found.")
elif "Match" in unique_status:
print("Only Match found.")
elif "Mismatch" in unique_status:
print("Only Mismatch found.")
else:
print("Something else is also present.)
For Value in Unique_Status = ['Match'], I am getting "Only Match Found"
For Value in Unique_Status = ['Mismatch'], I am getting "Only Mismatch Found"
For Value in Unique_Status = ['Match','Mismatch'], I am getting "Match and Mismatch both found."
但是,当列表还包含一些其他值时,例如 ['Match','Mismatch','XYZ'],则其他部分不会被执行。 我的代码需要什么条件/修改才能检查 Unique_Status 列表,并执行 else 条件,以防除 Match 和 Mismatch 之外还存在其他一些值。
if "Match" in unique_status and "Mismatch" in unique_status:
print("Match and Mismatch both found.")
elif "Match" in unique_status:
print("Only Match found.")
elif "Mismatch" in unique_status:
print("Only Mismatch found.")
if any( word not in ['Match','Mismatch'] for word in unique_status ):
print("Something else is also present.)
如果你只想打印一件东西,你应该这么说。 在这种情况下,“in”显然是错误的运算符。 你需要寻找平等:
if unique_status == ["Match"]:
print("Only Match found.")
elif unique_status == ["Mismatch"]:
print("Only Mismatch found.")
elif set(unique_status) == set(["Match","Mismatch"]):
print("Match and Mismatch both found.")
else:
print("Something else is also present.)
因为如果unique_status = ['Match','Mismatch','XYZ']
您的第一个if 条件得到满足因此,else 不起作用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.