我正在开发一个Webscraping代码,与此同时,如果网站链接中的字符串来自预定义的字符串列表,则我试图修改代码以提取特定元素。我正在尝试在ifif条件的帮助下进行此操作。
上下文类似于此:
list1 = ["apple","bat"]
list2 = ["cat", "mat"]
tester = ["www.cat.com","www.website.com","www.apple.com"]
for a in tester:
print(a)
if (item1 in a for item1 in list1):
print("apple is present")
elif ("john" in a):
print("failed")
elif (item2 in a for item2 in list2):
print("cat is present")
但是问题是匹配未正确进行,循环给出了第一个条件的输出,而不是第二个检查条件。关于如何克服这种行为有什么建议吗?
我得到的输出是:
apple is present
apple is present
apple is present
如果if总是成功而不是elif,那么问题是如果它本身而不是elif。
在您的情况下,您缺少any
:
if any(item1 in a for item1 in list1):