我编写了Python代码,在其中尝试包含具有或不具有含义的单词的所有可能组合,但这似乎是无限的[尽管有限制]。我的意思是,使用字母abcd ... wxyz构造那些可能导致100亿多个结果的单词。是否可以在经过一段时间后获得预期输出的地方运行这种代码?我设法编写自己的代码,但是这会使我的PC暂时变慢,因此我决定在它完全崩溃我的操作系统之前将其终止。
使用itertools.product
将为您提供所需的内容,并且您可以按所需的速度在许多许多组合中循环。这是一个如何有效生成所有组合的示例:
itertools.product
请注意,组合的数量将是26 ^ num_letters,或者在这种情况下,仅5个字母的单词(aaaaa到zzzzz)就超过1100万个组合。如果您实际上想有效地访问它们,请使用Interator风格的访问:
import itertools
alphabet = "abcdefghijklmnopqrstuvwxyz"
length = 5
alphabets = [alphabet] * length
combos_generator = itertools.product(*alphabets)
print(len(list(combos_generator)))
快乐编码!