elif条件不适用于python中的字符串匹配

问题描述 投票:0回答:1

我正在开发一个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
python string if-statement matching
1个回答
3
投票

如果if总是成功而不是elif,那么问题是如果它本身而不是elif。

在您的情况下,您缺少any

if any(item1 in a for item1 in list1):
© www.soinside.com 2019 - 2024. All rights reserved.