つまり、これは私がPythonで書いた最初のプログラムの1つです。文字列を取得して、実際の単語であるすべての文字列を出力しようとしています。完了しましたが(より多くの単語を含む参照ファイルを見つける必要があります)、Pythonが何かを返すのに非常に長い時間がかかると、8文字を超える文字を入力できないため、スケーラブルではありません。
def lower_and_remove_spaces(fill_string):
'''
function takes a string of 2 or more characters and prints out all the permutations
of words that the characters can make.
'''
lower_string = ''
for i in fill_string:
if i.isalpha():
lower_string += i.lower()
return lower_string
def fill_list(input_string):
iter_list = []
string_list = []
this_string = lower_and_remove_spaces(input_string)
for num in range(2,len(this_string)+1):
iter_list.append(itertools.permutations(this_string,num))
for iters in iter_list:
for lists in iters:
string_list.append(list(lists))
return string_list
def word_list(string):
string_list = fill_list(string)
a_word_list = []
a_string = ''
for i in string_list:
if not a_string == '':
a_word_list.append(a_string)
a_string = ''
for y in i:
a_string += y
return a_word_list
私はこれがたくさん飛び回ることを理解していますが、スケーラブルにするためにこれを行うためのより良い方法は何でしょうか?