def match_numbers (nlist, nlist1):
'''Returns the integer string whose first three numbers are on the first list'''
for x in nlist:
for x in nlist1:
print(x)
因此,假设第一个列表为['543', '432']
,第二个列表为['543242', '43299919', '2322242', '245533']
,我需要在第二个列表中将543
和432
与其较长版本匹配的函数列表,如何让我的代码执行此操作?
答案 0 :(得分:0)
试试这个:
[x for x in a for i in b if i == x[:len(i)]]
输出:
['543242','43299919']
答案 1 :(得分:0)
如果你有一个大的列表,这将会稍微好一点
list1 = ['543', '432']
list2 = ['543242', '43299919', '2322242', '245533']
def match_numbers (nlist, nlist1):
results = {}
for x in nlist1:
results.setdefault(x[0:3], [])
results[x[0:3]].append(x)
for x in nlist:
if x in results:
print results[x]
match_numbers(list1, list2)