Этот вопрос касается сопоставления строк в одном списке с сопоставлением строк в другом списке.Я пытался найти лучший способ подобного соответствия.Мой пример ниже небольшой, но я должен применить ту же идею к гораздо большему списку.Итак, у меня есть набор имен файлов и путей в одном списке, а затем у меня есть список частичных имен файлов в другом списке, например:
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 записей.Кажется, что это может быть сделано с помощью словарного понимания или лямбды, но кажется немного сложным.Я мог бы написать простой цикл, но это не кажется особенно эффективным.
Любые предложения о том, как справиться с подобной проблемой соответствия.