1
我正在尝试检查列表中的元素是否与其他元素匹配。但是这个问题稍有转折。迭代和匹配列表中的项目
alist = ['949', '714']
blist = ['(714)824-1234', '(419)312-8732', '(949)555-1234', '(661)949-2867']
我试图将alist的元素与blist匹配,但只匹配区域代码部分(blist)。这里是我当前的代码:
def match_area_codes(alist, blist):
clist =[]
for i in alist:
for j in blist:
if i in j:
clist.append(j)
return clist
代码工作在大多数情况下,除非出现在列表中其他地方匹配区号的字符串。它应该只打印:
['(714)824-1234', '(949)555-1234']
,但它结束了打印
['(714)824-1234', '(949)555-1234', '(661)949-2867']
是有“949”在过去的电话号码。有没有办法来解决这个问题?
使用're.compile'比将它放在列表理解中更好!在每次迭代中编译正则表达式! – Kasramvd
@Kasra是的,这就是为什么我使用're.compile'而不是将它放在列表理解中......或者你是什么意思? –
@ tobias_k..just so..is there a alternative way?我还没有经过正则表达式。 –