Проблема: Большой статический список строк предоставлен как A
, длинная строка предоставлена как B
, строки в A
все очень короткие (список ключевых слов), я хочу проверить, является ли каждая строка в A
подстрокой B
и получить их.
Сейчас я использую простой цикл типа:
result = []
for word in A:
if word in B:
result.append(word)
Но это безумно медленно, когда A содержит ~500,000 или более элементов.
Есть ли какая-нибудь библиотека или алгоритм, который подходит для решения этой проблемы? Я пробовал искать, но безуспешно.
Спасибо!