这个问题是关于在一个列表中用匹配的字符串匹配字符串
在另一个列表中。我想找出最好的匹配方法。我下面的例子很小,但我必须将同样的想法应用到更大的列表中。所以我在一个列表中有一组文件名和路径,
然后我在另一个列表中有一个部分文件名的列表
例子:
list1 = ['/../../abc_file1.txt',
'/../../abc_extrafile1.txt',
'/../../abc_file2.txt',
'/../../abc_file3.txt',
'/../../abc_extrafile3.txt']
然后我有一个不同的清单
['file1', 'extrafile1', 'file2', 'file3', 'extrafile3']
所以我想做的是得到一个匹配,生成一个字典,比如:
{'file1': '/../../abc_file1.txt',
'extrafile1': '/../../abc_extrafile1.txt',
'file2': '/../../abc_file2.txt',
'file3': '/../../abc_file3.txt',
'extrafile3': '/../../abc_extrafile3.txt'}
所以文件名之间有些重叠,我需要
小心点。
有很多方法可以做到这一点,但我不确定哪种方法最适合匹配1000或10000个条目的列表似乎这可以通过字典理解或lambda来完成,但似乎有点复杂。我可以写一个原始循环,但这似乎不是特别有效。
关于如何处理此类匹配问题的任何建议。