У меня есть два списка, например, 100
list A = ['ABCD', 'AC', 'BCD']
list B = ['BCDD', 'AB']
для каждого элемента в списке A, я хочу вычислить расстояние редактирования (расстояние Левенштейна) для списка B и рассчитать число результатов, которое меньше, чем 3. То есть окончательный результат должен дать список. В приведенном выше примере, я ожидаю, что результат будет: [1, 1, 1]
Мои коды:
for element in listA:
sub_len = sum(np.array(vdistance(element, listB)) <= 2)
Это работает для небольшой выборки, однако, когда размер списка A и B Два больших, скорость становится действительно маленькой. Интересно, есть ли какой-нибудь векторизованный метод для достижения моей цели, спасибо!