Как я могу сгенерировать список всех возможных перестановок нескольких букв?

Поэтому я создаю генератор слов, который принимает несколько введенных букв, помещает их во все возможные позиции и сопоставляет их с документом для поиска слов. Если я приближаюсь к этому неправильному, скажите мне! Если нет, то как я могу это сделать? благодаря

    для генерации всех перестановок заданного списка букв используйте модуль itertools.

     import itertools for word in itertools.permutations( list_of_letters ): print ''.join(word) 

    Возможно, быстрее запустить его в обратном порядке: проиндексировать свой документ и для каждого слова посмотреть, является ли он подмножеством вашего списка букв.

    Вы можете написать свою собственную функцию (:

     def permutation(head, tail=''): if len(head) == 0: print tail else: for i in range(len(head)): permutation(head[0:i] + head[i + 1:], tail + head[i]) 
     def allpermutationsOfString(words): if len(words) == 1: return [words] result = [] for index, letter in enumerate(words): wordWithoutLetter = words[:index] + words[index+1:] result = result + [letter + word for word in allpermutationsOfString(wordWithoutLetter)] return result print allpermutationsOfString("watup") #will print all permutations of watup 

    Вот еще один способ реализовать алгоритм.