Автоматизировать построение поисковых терминов - PullRequest
0 голосов
/ 22 октября 2018

Я делаю некоторую очистку, но я пытаюсь автоматизировать создание обширного списка ключевых слов.Один из разработанных мной подходов, который не является ни удобным, ни неудобным, заключается в следующем:

def build_search_terms():
    words1 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
    words2 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
    for word in words2:
        result = words1[0] + word
        words2.pop(0)
        search_for(result)

Я пытаюсь создать функцию, которая выплевывает aa на azзатем ba до bz, затем ca до cz и т. д. и т. д.

Кто-нибудь раньше решал эту проблему?

Существуют ли более эффективные способысделать это?

1 Ответ

0 голосов
/ 22 октября 2018

Вы можете получить желаемый результат, как показано ниже:

def build_search_terms():
    words_list = []
    words = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
    for i in words:
        for j in words:
            yield i + j

и использовать его как

for word in build_search_terms():
    print(word)

или

def build_search_terms():
    words = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
    return (i +j for i in words for j in words)

и использовать его как

words = build_search_terms()
print(next(words))  # 'aa'
print(next(words))  # 'ab'
print(next(words))  # 'ac'
....
...