У меня есть два списка, один из которых Ожидаемые_объекты , а другой - извлеченные слова . Списокpected_entities состоит из строк, каждая из которых может содержать несколько слов или одно слово. В то время как список extract_words содержит строки с отдельными словами. Мне нужно выяснить, можно ли построить любой Ожидаемый объект из ожидаемого объекта с использованием нескольких или отдельных записей из извлеченных слов.
Например,
expected_entities = {"hello joe", "hi julie", "hola sam", "paul"}
extracted_words = {"hello", "hi", "hola", "sam"}
Мой код должен возвращать hola sam
в качестве вывода.
В настоящее время мое решение выглядит так:
def my_method(expected_entities, extracted_words):
for expected_entity in expected_entities:
words = expected_entity.split()
if set(words) < set(extracted_words):
return expected_entity
Я хотел бы знать, может ли быть лучшее решение для достижения того же самого, это, кажется, не работает нормально.
Примечание. Предположим, что данные будут такими, что из извлеченных слов может быть создан только один ожидаемый объект.