Skip to main content
 首页 » 编程设计

python之交叉匹配两个列表

2025年05月04日12dflying

我有两个列表,我试图查看两个列表中元素的子字符串之间是否存在任何匹配项。

["Po2311tato","Pin2231eap","Orange2231edg","add22131dfes"] 
["2311","233412","2231"] 

如果元素中的任何子字符串与第二个列表匹配,例如“Po2311tato”将与“2311”匹配。然后我想将“Po2311tato”放在一个新列表中,其中第一个匹配项的所有元素都将放在新列表中。所以新列表将是 ["Po2311tato","Pin2231eap","Orange2231edg"]

请您参考如下方法:

您可以使用语法 'substring' in string 来执行此操作:

a = ["Po2311tato","Pin2231eap","Orange2231edg","add22131dfes"] 
b = ["2311","233412","2231"] 
 
def has_substring(word): 
    for substring in b: 
        if substring in word: 
            return True 
    return False 
 
print filter(has_substring, a) 

希望这对您有所帮助!