Python 优化一段代码,生成具有给定长度的所有可能单词

Python 优化一段代码,生成具有给定长度的所有可能单词,python,Python,我写了一个程序,用一定数量的字母生成每个可能的单词,并将其全部写入一个文件。然而,我并不擅长优化代码,当我试图制作一个长度为7的程序时,程序会崩溃并自杀。这很烦人,因为我希望能够在多个小时/天内运行该程序,生成包含10个或更多字符的单词。 我仍然不太了解python,而且我以前从未有过一个程序彻底崩溃python外壳,所以我真的不知道该怎么做。有没有办法让这个程序运行更长的单词,或者甚至减慢它的速度,或者拆分列表,使它停止崩溃? 非常感谢 代码: 不要在内存中生成所有输出,并在最后写入。生成每个

我写了一个程序,用一定数量的字母生成每个可能的单词,并将其全部写入一个文件。然而,我并不擅长优化代码,当我试图制作一个长度为7的程序时,程序会崩溃并自杀。这很烦人,因为我希望能够在多个小时/天内运行该程序,生成包含10个或更多字符的单词。 我仍然不太了解python,而且我以前从未有过一个程序彻底崩溃python外壳,所以我真的不知道该怎么做。有没有办法让这个程序运行更长的单词,或者甚至减慢它的速度,或者拆分列表,使它停止崩溃? 非常感谢

代码:


不要在内存中生成所有输出,并在最后写入。生成每个项目后,立即将其写入。

您是否估计了10个字符的字数?仅使用26个字母,它是26**10,因此约为1.4*10^15,这将占用约14000 TB。您希望将其存储在哪里?“…程序崩溃并自行终止”-请提供完整的错误回溯。
import string
import datetime

begin_time = datetime.datetime.now()

maxLen = int(input("Max Length:   "))
baseAlpha = list(string.ascii_uppercase)
alphabet = list(string.ascii_uppercase)

print()

for i in range(maxLen-1) :
    for i,v in enumerate(alphabet) :
        alphabet[i] = [v]*26

    for indexPerList,listValue in enumerate(alphabet) :
        for indexInsideList,listIndexValue in enumerate(listValue) :
            alphabet[indexPerList][indexInsideList] += baseAlpha[indexInsideList]
    tempListAlphabet = []
    for i in alphabet :
        for j in i :
            tempListAlphabet.append(j)
    alphabet = tempListAlphabet

print(len(alphabet))
print(datetime.datetime.now() - begin_time)

f = open("output.txt","a")
for i in alphabet :
    f.write(i + ' ')
f.close()