【发布时间】:2015-09-29 18:51:12
【问题描述】:
我正在尝试检查列表中的元素是否与另一个列表中的元素匹配。但是这个问题有一个轻微的转折。
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”。有没有办法解决这个问题?
【问题讨论】:
标签: string list python-3.x iteration