我有以下两个列表:
input = ['MAPLEWOOD AVE', 'LYNNDALE ', 'SUGAR DR']
ref = ['LYNNDALE (?:RD)?', 'HOMAN (?:AVE)?', 'MAPLEWOOD (?:AVE)?', 'LYNNDALE (?:LN)?']
我想查找input
with中每个元素的所有匹配项ref
。输出将是一个字典,每个键是一个input
元素,每个值是一个ref
与相应元素匹配的input
元素,如下所示:
{'MAPLEWOOD AVE' : 'MAPLEWOOD AVE', 'LYNNDALE ' : 'LYNNDALE RD', 'LYNNDALE LN', 'SUGAR DR':}
以下允许我迭代input
以搜索其中的findall
匹配项ref
(其中包含嵌入的正则表达式分组)。但是,我无法从ref
每个输入元素旁边的值中检索相应的匹配元素:
combined = "(" + ")|(".join(ref) + ")"
l = []
for i in input:
if re.findall(combined,i):
l.append(i)
...
MAPLEWOOD AVE
LYNNDALE