如何比较两个列表以保持匹配子字符串?字符串、两个、列表

2023-09-03 08:05:07 作者:最强笨蛋

我所能描述的是,我有两个字符串列表,我希望返回列表A中包含列表B中任何字符串的所有结果。以下是详细信息:

A = ['dataFile1999', 'dataFile2000', 'dataFile2001', 'dataFile2002']
B = ['2000', '2001']

如何退货

C = ['dataFile2000', 'dataFile2001']?
子字符串个数匹配 15 分

我一直在研究列表理解,做了一些类似下面的事情

C=[x for x in A if B in A] 

但我似乎不能让它起作用。我走对了吗?

推荐答案

您已接近,请使用any:

C=[x for x in A if any(b in x for b in B)]

更详细:

A = ['dataFile1999', 'dataFile2000', 'dataFile2001', 'dataFile2002']
B = ['2000', '2001']

C = [x for x in A if any(b in x for b in B)]

print(C)

输出

['dataFile2000', 'dataFile2001']