Оптимизировать для времени выполнения - PullRequest
0 голосов
/ 22 апреля 2019

Следующий код принимает два параметра.Массив предложений и массив запросов.У каждого запроса есть одно или несколько слов.Приведенная ниже функция выводит индекс предложения для каждого запроса, в котором есть все слова в этом предложении.

Это функциональный код.Однако он не оптимизирован для больших входов из-за того, как он написан.

Как мы можем сделать его более оптимизированным во время выполнения?Любые идеи были бы хорошы.

def textQueries(sentences, queries):
    sentences_sets = [set(s.split(' ')) for s in sentences]
    for i, words in enumerate(queries):
        results = ''
        for j, s in enumerate(sentences_sets):
            exists = True
            for word in words.split(' '):
                if word not in s:
                    exists = False
            if exists:
                results += ' %d' % j if results else '%d' % j
        if results:
            print results
        else: print -1
...