我正在编写一个python脚本,它查找给定字母串的所有可能组合,然后在英语字典中查找它们以从字符串列表中生成单词。
示例输入:roaispnba 输出示例:肥皂脑
这是我现在的代码:
import sys
import itertools
list_of_letters = sys.argv[2].lower()
def iterator(list_of_letters):
for word in itertools.permutations( list_of_letters ):
output = ''.join(word)
with open('words_alpha.txt') as file:
for line in file:
if output in line:
print line
当我给它一个短的字符串(例如niarb)时,它会在字典中查找并找出单词" brain"。但是,它无法将这两个词分开。#soap; soap"和"大脑"当我给它整个字符串。
请注意我需要的是:
所以,有两个问题:
Thaaanks!
注意:
以下是关于SO的类似问题,但在C#中:Find words in wordlist from random string of characters
更新
以下是使用字典的链接(Github):https://github.com/dwyl/english-words/blob/master/words_alpha.txt
这是一个示例:
braies
brayette
braying
brail
brailed
brailing
braille
brailled
brailler
brailles
braillewriter
brailling
braillist
brails
brain
brainache
braincap
braincase
brainchild
答案 0 :(得分:0)
我认为最好的方法是使用递归扫描字典:
ListComponent